Memcache是一个内存存储方案[多简洁的描述啊。。]
在PHP官方有比较全面的说明文档
http://www.php.net/manual/zh/book.memcache.php【中文】
这里就来简单写一下他的数据操作部分的用法
创建一个Mencache对象
$memobj=new Memcache; //使用函数形式的时候不需要创建这个对象
然后就可以以对象的形式对他进行操作
连接到memcache服务器
这种特性说明这货支持从不同的装有memcache的服务器中读取数据,但是并没有任何的验证机制,所以memcache最好不要暴露在互联网中
建立一个短时间连接
$memobj->connect('服务器地址'[,端口号][,超时时间,默认1s]); //或 $memobj=memcache_connect('memcache服务器地址'[,端口号][,超时时间,默认1s]);
建立一个持久化连接
$memobj->pconnect('服务器地址'[,端口号][,超时时间,默认1s]); //或 $memobj= memcache_pconnect('服务器地址'[,端口号][,超时时间,默认1s]);
除了这一框里的函数以外,其它未特殊标注的框内的函数,成功返回true,失败返回false
设置内容
我研究了很久还是没发现这里提供的两个方法add和set有什么区别。。
add的用法
$memobj->add('键值名','值'[,是否进行压缩][,存活时间]); //或 memcache_add($memobj,'键值名','值'[,是否进行压缩],[,存活时间]);
‘键值名’:给缓存的内容起个名字,可以就把它理解成一个变量名
‘值’:要缓存的内容,到写这篇文章的时候,支持的内容为字符串和数组[我就看到了这两种存储的例子。。]
是否进行压缩:这一项我也不明白是什么意思,文档里说用MENCACHE_COMPRESSED压缩。true或1是开启,false或0是关闭。
存活时间:可以设置变量在服务器里待多久,单位为秒,超时后数据会被删除。0代表永远不过期,但是不保证它不会被新内容抢走位置。
set的用法
$memobj->set('键值名','值'[,是否进行压缩][,存活时间]); //或 memcache_set($memobj,'键值名','值'[,是否进行压缩][,存活时间]);
这个和上面完全一样我就不再解释一遍了
replace的用法
replace用来替换已存在键值名的值
$memobj->replace('键值名','值'[,是否进行压缩][,存活时间]); //或 memcache_replace($memobj,'键值名','值'[,是否进行压缩][,存活时间]);
得到一个值
$一个变量=memcache_get($memobj,'键值名'); //或 $一个变量=$memobj->get('键值名'); //也可以用数组做参数来获取内容,将返回一个数组 $一个变量=$memobj->get(Array('键值名1','键值名2')); //或 $一个变量=memcache_get($memobj,Array('键值名1','键值名2'));
增大键值的值(数值)
[$可以接受增加后的值=]$memobj->increment('键值名'[,增加的大小]); //或 [$可以接受增加后的值=]memcache_increment($memobj,'键值名'[,增加的大小]);
减小键值的值(数值)
[$可以接受减小后的值=]$memobj->decrement('键值名'[,减小的大小]); //或 [$可以接受减小后的值=]memcache_decrement($memobj,'键值名'[,减小的大小]);
除了这一框里的函数以外,其它未特殊标注的框内的函数,成功返回true,失败返回false
开启大值自动压缩
这个不知道有什么用。。
$memobj->setCompressThreshold(int $threshold [,float $min_savings]);//这是原型。。我实在不知道什么意思就不误导大家了。 //或 memcache_set_compress_threshold($memobj,int $threshold [,float $min_savings]);
threshold
控制多大值进行自动压缩的阈值
min_saving
指定经过压缩实际存储的值的压缩率,支持的值必须在0和1之间。默认值是0.2表示20%压缩率。
添加服务器
$memobj->addServer('服务器地址',端口号); ...... //或 memcache_add_server($memobj,'服务器地址',端口号);
删除某个键值
$memobj->delete('键值名'[,延时]); //或 memcache_delete($memobj,'键值名'[,延时]);
延时用来设置指定时间后删除元素,如果为0则立刻删除
清空所有键值
$memobj->flush(); //或 memcache_flush($memobj);
关闭连接
关闭连接无法关闭持久化连接
memcache_close($memobj); //或 $memobj->close();
本文发布于 https://luojia.me
本站文章未经文下加注授权不得拷贝发布。