CakePHP中使用MemCache缓存数据库Schema

转自:http://lesorb.javaeye.com/blog/731450

 

在apache下配置使用memcached其实非常简单,下面讲述其在windows下的安装及配置并和CakePHP搭配使用应该注意的相关事项:

首先:
到memcached官方网站http://memcached.org/下载最新的v1.4.5 stable版本,解压至相关目录即可;
譬如:D:/memcached
可见memcached.exe,将其在桌面建立快捷方式,点击执行即可.

在对应的PHP.ini文件中将
extension=php_memcache.dll
放开

当然你要确定 php_memcache.dll(与当前PHP版本匹配) 存在phpext中.

好了,整个memcached配置使用就这些了,在单机应用下非常简单.

那么在CakePHP中使用时,你还需注意,为了活得最大的效率,我们通常是把整个数据库描述缓存起来,那么当我们启用了memcached,就应该在查询时候来使得缓存启用:

在cake/libs/model中找到函数schema;
将下面code
Php代码   
  1. $this->_schema = $db->describe($this$field);  

替换成:

Php代码   
  1. $r = Cache::read('table_schema_'.$this->_schema, 'memcache');   
  2. if($r){   
  3.     $this->_schema = $r;   
  4. }else{   
  5.     $this->_schema = $db->describe($this$field);   
  6.     Cache::write('table_schema_'.$this->table, $this->_schema, 'memcache');   
  7. }  
这样,在首次调用某table数据时,系统就会把此table的描述cache到memcached,以后在数据库不发生更改和系统不重启的情况下就可以防止再次的扫描数据库文件了,极大的提高了效率.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值