如果系统中需要自己做cache,采用什么方式好呢

来源:互联网 发布:金融数据库有哪些 编辑:程序博客网 时间:2024/05/01 12:55
引用: 我是做审计软件,需要采集大量的财务数据,并对其进行分析,这种海量数据不是一般,所以我一直在构思设计一套缓存。 其实数据库服务器、应用程序服务器都有缓存。那么我们所设计的缓存应该是针对系统的。楼上的一些方法都不太可取。这里,我提供一些我的思路吧。 系统需要缓存表现在两个方面,第一、频繁的数据库查询访问,而内容又往往相同;第二、海量的数据,又不能全部依靠内存。 我所思考的缓存来自于CPU的cache思想,根据内存、本地文件、数据访问建立三级访问机制。另外从操作系统的概念里可以借鉴段、页式存储的概念。首先在内存中维护一个段页表,并维护一定量的对象数量(根据系统的内存情况设置一级缓存的大小),在系统访问内存中不存在的时候,再在段页表中查询本地文件是否存在相关对象,存在这载入(本地的IO访问自然会比通过网络访问数据库快);如果再没有,再进行远程的数据库访问。 一般来说,要做缓存要解决两个比较重要的问题,第一就是缓存对象的释放机制(究竟是采用时间片、先进先出、最近一段访问量小的出等各种算法需要好好考虑,最好能有不同的实现);第二,就是对于大系统的缓存分布式交换及处理问题;第三,就是应该保证所有的更新需要经过缓存的过滤问题。 JCS是一个比较不错的,只不过没有看到其源代码,所以不太了解其实现的方式。以上是一个思路,我也只是处于考虑阶段(目前没有这样的项目压力),况且真正实施也不是一个人可以做得了的。仅供楼主参考吧!
原创粉丝点击