Berkeley DB:网站数据缓存方案测试
Wednesday, January 28th, 2009本博客所有原创文章采用知识共享署名-非商业性使用-相同方式共享,转载请保留链接http://chaoqun.17348.com/2009/01/bdb-cache/ 做网站,好像大家都比较喜欢文件缓存,把那些读操作多写操作少的内容缓存成一个文件放服务器硬盘上,下次直接读取或者更新。针对每一个key缓存成一个文件,当需要缓存的内容多的时候,文件数也就相应的多,这么多文件的同步和备份都是大问题,数据的可靠性也无从保证。 可是为了"效率",我们也忍了,但文件缓存的效率真的好吗?有没有更好的方案?当然,memcached是很好的解决方案,今天这里测试另外一种方案:使用Berkeley DB作为网站数据缓存方案。 测试环境:CentOS 5.2,Core2 T5500@ 1.66GHz,1.5G内存,Ext3文件系统,apache 2.2.3,php 5.2.8 with php_dba 数据初始化:为了不至于在一个目录下文件数目过多,文件缓存分了两级hash目录,初始化数据数10万条。 /** * 初始化缓存 * * @param int $limit */ function init_cache($limit = 100000) { $str = 'good good study,and day day up.'; $bdb = dba_open('./bdb.db', 'c', 'db4'); for ($i = 0; $i < $limit; $i++) ...