欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

关于分布式缓存memcached详解

程序员文章站 2022-07-16 16:56:53
...
libevent事件机制

memcached基于libevent事件处理,用相关资料上描述,libevent是个程序库,它将linux的epoll、bsd类操作系统的kqueue等事件处理功能封装成统一的接口。即使对服务器的连接数增加,也能发挥o(1)的性能。

memcached服务器,缓存数据都是以key-value hash表的内存存储,最大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/
相关标签: memcached 算法