memcache用法笔记

PS:虽然本文是我写的但是我还没有经过实验。。。如果发现了错误请留言让我修正
PS:[ ]中的都为可有可无的内容
ps:第一次给文章加这么多样式。。感慨万千吖

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

本站文章未经文下加注授权不得拷贝发布。

0 0 投票数
打分
订阅评论
提醒
guest
0 评论
内联反馈
查看所有评论