小蚂蚁学memcache笔记-php操作memcache(2)

WBOY
发布: 2016-06-20 12:48:44
原创
716 人浏览过

上篇在学习$mem->set();的时候少写了一个参数,第三个参数,MEMCACHE_COMPRESSED,这个参数的作用在于压缩。

memcache是独立机构,是C/S结构。如果memcache满了,LRU算法删除,把最早没有访问过的拿掉。

memcache的分布式  这里是重点

在第二部中将connect这个方法改成addserver(),在链接池中添加了一个memcache服务器。

例如 :

$mem    ->    new Memcache();$mem    ->    addServer('127.0.0.1',11211);    //增加链接池$mem    ->    addServer('127.0.0.1',9999);     //增加链接池   $mem    ->    get($key);
登录后复制

memcached尽管是‘分布式’缓存服务器,但服务器端并没有分布式功能。

各个memcache不会互相通信以便信息共享。每个memcache服务的数据不是同步的。

而且把什么样的数据放入到哪一个memcached是由客户端的mem对象来决定的。

当执行addServer的时候,并不是立即去连接mem服务,而是通过计算,hash后才去决定链接哪一台mem服务,所以当大量加入服务到连接池,不会有多余的开销。

memcache细节的研究

生命周期。从放入开始计时,时间到就自动销毁。memcache被销毁有以下几种情况。一,时间到。二、重启memcache。三,重启服务器。

如何将session放入到memcache中保存

修改php.ini配置文件

session.save_handler=user 它有三个选项 user 表示自定义 files入库保存到文件 memcache保存在内存

修改如下 将session.save_handler 改为 memcache

将 session.save_path=“tcp://127.0.0.1,11211”

2. 重启apache

注意:如果session数据存入memcache,那它一定是以session_id为key值进行添加的。

如果以后做大型门户网站,一定要把session写入到memcache。(强烈建议)

如果无法修改php.ini文件,可以通过函数修改php.ini任何配置。可以把以下两句写到脚本的前端

ini_set("session.sava_handler","memcache");ini_set("session.save_path","tcp://127.0.0.1:9999");     //函数的参数都是以减值对的形式存入
登录后复制

ini_set()功能很强大,可以修改php.ini中的任何值。

safe_mode模式的谈论

他们的最大区别就在于,安全模式一旦打开,对服务器上文件的操作几乎失效。

ini_set()只会在很脚本起作用,不对其他文件起作用。

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!