当前位置: 技术问答>C/C++内存池实现介绍及基本要求
iis7站长之家
内存数据更新问题
来源: 互联网 发布时间:2014-12-02
本文导语: 我准备把数据库的一个表单(2字段3000条数据)读到一台小型机(非数据库所在机器)的内存中,供应用程序调用。 问题是: 1.怎样调用,是否需要定义什么算法 2.定期更新问题,比如一周更新一次,在内存中的数...
我准备把数据库的一个表单(2字段3000条数据)读到一台小型机(非数据库所在机器)的内存中,供应用程序调用。
问题是:
1.怎样调用,是否需要定义什么算法
2.定期更新问题,比如一周更新一次,在内存中的数据怎样自动更新;同时我的应用是不间断运行的,怎样使更新数据时对应用的影响最小。
3.调用问题,怎样根据条件检索,是否是高效率的。
问题是:
1.怎样调用,是否需要定义什么算法
2.定期更新问题,比如一周更新一次,在内存中的数据怎样自动更新;同时我的应用是不间断运行的,怎样使更新数据时对应用的影响最小。
3.调用问题,怎样根据条件检索,是否是高效率的。
|
搞个内存映射文件最省事,只要内存够了,数据使用频繁,大多数时候数据都在内存里,何必自找麻烦。
|
1。如果是放在share memory中的话,无非就是shmat,shmget等函数的调用.
2.数据更新,由于数据量小,大可将原来的数据删除,然后重建
3.数据量太小了,况且又是在内存中,最简单的排序,查找算法应该就可以了.
2.数据更新,由于数据量小,大可将原来的数据删除,然后重建
3.数据量太小了,况且又是在内存中,最简单的排序,查找算法应该就可以了.
|
1、使用共享内存
2、记住更新时加锁,不允许别的应用读取(数据量小、时间并不长)
3、Hash算法,可以在载入共享内存时使用HASH,也可单独对关键字进行HASH
另外,如果应用是单进程多线程的,可以考虑使用全局变量的方式。
2、记住更新时加锁,不允许别的应用读取(数据量小、时间并不长)
3、Hash算法,可以在载入共享内存时使用HASH,也可单独对关键字进行HASH
另外,如果应用是单进程多线程的,可以考虑使用全局变量的方式。