最近为了做分布式,服务端的文件缓存已经不能再使用了,于是开始研究memcache.下面是memcache的操作类,暂未测试,先保存一下!
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 |
<?php namespace common\extend; class MemCaches { private $ip; private $port; private $memcache; public function __construct(){ $this->ip = 'localhost'; $this->port = '11211'; $memcache = new Memcache; $this->memcache = $memcache->connect($this->ip,$this->port); } /** 设置缓存 如果已存在,则覆盖 * @param $name 缓存文件名 * @param $value 文件值 * @return mixed */ public function set($name,$value){ if($name || $value) return false; return $this->memcache->set('h5_'.$name,$value); } /** 获取缓存 * @param $name 缓存名称 * @return bool 返回结果 */ public function get($name){ if($name) return false; return $this->memcache->get('h5_'.$name); } /** * @param $name 将要存储的键值。 如果已存在,则返回false * @param $value 存储的值,字符型和整型会按原值保存,其他类型自动序列化以后保存。 * @param $zip 是否用MEMCACHE_COMPRESSED来压缩存储的值,true表示压缩,false表示不压缩。 * @param $exp 存储值的过期时间,如果为0表示不会过期,但是你在使用秒数表示的时候,不要超过2592000秒 */ public function add($name,$value,$zip='false',$exp=0){ return $this->memcache->add('h5_'.$name,$value, $zip, $exp); } /** * @param $name 删除 memecache 值 * @param $exp 将在* 秒后过期 * @return mixed 返回 */ public function del($name,$exp){ return $this->memcache->delete('h5_'.$name,$exp); } } |