Heim > Backend-Entwicklung > PHP-Tutorial > 小蚂蚁学memcache笔记-php操作memcache(2)

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

WBOY
Freigeben: 2016-06-20 12:48:44
Original
802 Leute haben es durchsucht

上篇在学习$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);
Nach dem Login kopieren

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");     //函数的参数都是以减值对的形式存入
Nach dem Login kopieren

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

safe_mode模式的谈论

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

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

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage