memcached 实现读锁

memcached锁,网上大多就介绍乐观锁(cas)[1.2.4以上版本,telnet连接上memcache使用status可以查看版本号]。核心就是每次写入数据的时候使用 cas($cas_token,$key,$value);

 

今天介绍实现一种读锁的方法,原理是给每条数据增加一个KEY(数据锁)。在读这条数据前先加锁,先用memcache::add($key_lock,$value,$time);

如果写入成功,再去读取业务数据。(此时如果另一个客户端来加锁[memcache::add($key_lock,$value,$time)]就会失败),当业务数据读取完的时候,删除$key_lock(解开锁);

 

posted @ 2014-04-02 17:32  naci  阅读(710)  评论(0编辑  收藏  举报