php支持组操作的memcache类

php支持组操作的memcache类

ID:12552386

大小:42.00 KB

页数:4页

时间:2018-07-17

php支持组操作的memcache类_第1页
php支持组操作的memcache类_第2页
php支持组操作的memcache类_第3页
php支持组操作的memcache类_第4页
资源描述:

《php支持组操作的memcache类》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、PHP支持组操作的Memcache类(域操作)Memcache是PHP开发中较常用到的缓存方法,在高并发的系统中是必不可少的组成部分。在实际开发中,Memcache存在一个比较不尽人意的问题,就是Memcache不能支持对key进行的组操作。 组操作,也可以称为域操作,比如说某个文章系统,在前台部分使用Memcache缓存了列表页数据、文章详细页数据,两种数据的量都比较多。那么,当后台发布了一篇文章的时候,列表页就应该需要更新到最新的列表——可能涉及到许多个列表页。当然,对文章详细页来说,它是不需要更新的。 好的,这个时候我们就需要删除原有缓存,让程序可以自动更新列表页

2、数据。但是使用Memcache的flush函数有个问题,就是它会清空全部的数据,包括列表页和文章页的数据,在大并发的条件下,全部缓存删除后重建缓存的时候,将会有非常高的负载产生。 另外,还会有情况就是有些你不愿意删除的缓存变量,也会丢失了,比如说程序的配置,数据库为了提速而存到缓存的表结构等。 所以我们需要一个支持组操作的缓存机制,我们就可以把列表页设置成一个组,文章页数据是另外一个组,程序配置又是另外一个组等等。当需要重建列表页的时候,只需要删除列表页这个组里面全部的数据,而不会影响到别的组的数据。 测试了几种方案,还是以下的方案最为理想和高速,我们先看代码,再说原理

3、:  1.mmc = false; 10.            return; 1.        } 2.        $this->mmc = new m

4、emcache(); 3.        $this->mmc->addServer('192.168.1.5', 11211); 4.        $this->mmc->addServer('192.168.1.6', 11211); 5.        $this->group = $group; 6.        $this->version = $this->mmc->get('version_'.$group); 7.    } 8.    function set($key, $var, $expire=3600){ 9.        if(!$th

5、is->mmc)return; 10.        return $this->mmc->set($this->group.'_'.$this->version.'_'.$key, $var, $expire); 11.    } 12.    function get($key){ 13.        if(!$this->mmc)return; 14.        return $this->mmc->get($this->group.'_'.$this->version.'_'.$key); 15.    } 16.    function incr($ke

6、y, $value=1){ 17.        if(!$this->mmc)return; 18.        return $this->mmc->increment($this->group.'_'.$this->version.'_'.$key, $value); 19.    } 20.    function decr($key, $value=1){ 21.        if(!$this->mmc)return; 22.        return $this->mmc->decrement($this->group.'_'.$this->vers

7、ion.'_'.$key, $value); 23.    } 24.    function delete($key){ 25.        if(!$this->mmc)return; 26.        return $this->mmc->delete($this->group.'_'.$this->version.'_'.$key); 27.    } 28.    function flush(){ 29.        if(!$this->mmc)return; 30.        ++$this->version;

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。