关于分布式缓存memcached详解
libevent事件机制
memcached基于libevent事件处理,用相关资料上描述,libevent是个程序库,它将linux的epoll、bsd类操作系统的kqueue等事件处理功能封装成统一的接口。即使对服务器的连接数增加,也能发挥o(1)的性能。
memcached服务器,缓存数据都是以key-valuehash表的内存存储,最大key不超过250个字符,最大value项默认不超过1m,因此重启程序和服务器都会导致数据丢失,但它会消耗更低的cpu,因此可以用配置一般内存大点的服务器作为memcached服务器。在内容超过制定缓存大小后,会用lru,最近最少使用算法删除不使用的数据,默认超时时间为30天。memcached服务器之间互不通信,分布式算法在客户端,由客户端选择把数据存储到哪台memcached服务器上,比如.net客户端,一般默认采用key的hashcode来模memcached服务器数量取余的值,作为选择当前key-value存储的服务器,当然系统足够庞大后,可以编写更加复杂和为具体项目做的算法。
请参考:
http://tech.idv2.com/2008/08/17/memcached-pdf/
相关推荐
ol0 2020-05-02
loviezhang 2020-06-08
Cheetahcubs 2020-05-06
loviezhang 2020-03-28
粗茶淡饭 2020-05-27
middleware0 2020-05-06
枫叶上的雨露 2020-05-02
blncle 2020-03-20
YZR 2020-02-29
枫叶上的雨露 2020-01-09
nbfcome 2019-11-13
亦碎流年 2019-11-01
Cheetahcubs 2019-10-30
LandryBean 2019-10-30
zhangll00 2019-10-27
summerZBH 2019-04-11