MemCache内存缓存系统

memcached是一种缓存技术, 他可以把你的数据放入内存,从而通过内存访问提速,因为内存最快的, memcached技术的主要目的提速,

默认情况下占用的端口号为:11211。

在memachec 中维护了一张大的hashtable ,该表是在内存,表的结构是

key    value

字串  (字串,数值,数组,对象,布尔,二进制数据,null)

PS:与memcache功能类似的有redis缓存系统。二者区别:redis可以将内存中数据刷入到本地磁盘中。

memcache适合操作的数据[变化频繁,具有不稳定性,不需要实时入库]。

对memcached进行curd操作的方式:

1、基于memcache(memcached)的扩展操作

2、直接使用Socket编程

常见操作有:add-添加数据,set-修改数据(不存在时则添加该数据),delete-删除数据,replace-修改数据(不会添加数据)

=================================================================

memcache的机制

memcache中数据的生命周期

从数据放入开始计时,直到时间到了,就销毁, 如果时间为0, 则表示不过期.

memcache的数据被销毁的情况如下:

  1. 时间到
  2. 重启memcached服务
  3. 重启memcached服务所在的机器
  4. delete / flush 销毁数据

总结:

  1. memcache服务的数据不是同步, 数据是分布的。
  2. 把什么数据放入到哪个memcached是由客户端的mem对象决定。
  3. 当执行addServer的时候,并不是立即去连接mem服务,而是通过计算,hash后才去决定连接哪个mem服务,因此当你大量加入服务器到连接池,没有多余开销。
原文地址:https://www.cnblogs.com/cugb-2013/p/3517731.html