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的数据被销毁的情况如下:
- 时间到
- 重启memcached服务
- 重启memcached服务所在的机器
- delete / flush 销毁数据
总结:
- memcache服务的数据不是同步, 数据是分布的。
- 把什么数据放入到哪个memcached是由客户端的mem对象决定。
- 当执行addServer的时候,并不是立即去连接mem服务,而是通过计算,hash后才去决定连接哪个mem服务,因此当你大量加入服务器到连接池,没有多余开销。