memcached 1.4.23 发布,此版本现已提供下载:http://www.memcached.org/files/memcached-1.4.23.tar.gz。
此版本更新内容如下:
Bug 修复
spinlocks removed since they never seem to improve performance.
flush_all was not thread safe.
better handle items refcounted in tail by unlinking them from the LRU’s
新特性
重写了 memcached 的核心 LRU 算法:
global cache_lock is gone, LRU’s are now independently locked.
LRU’s are now split between HOT, WARM, and COLD LRU’s. New items enter the HOT LRU.
LRU updates only happen as items reach the bottom of an LRU. If active in HOT, stay in HOT, if active in WARM, stay in WARM. If active in COLD, move to WARM.
HOT/WARM each capped at 32% of memory available for that slab class. COLD is uncapped.
Items flow from HOT/WARM into COLD.
A background thread exists which shuffles items between/within the LRU’s as capacities are reached.
主要目标是保护“scanning”的 active items,其次是为了改进延迟。
更多改进内容请看发行说明。
memcached是一套分布式的快取系统,当初是Danga Interactive为了LiveJournal所发展的,但目前被许多软件(如MediaWiki)所使用。这是一套开放源代码软件,以BSD license授权释出。
memcached缺乏认证以及安全管制,这代表应该将memcached服务器放置在防火墙后。
memcached 的API使用三十二位元的循环冗余校验(CRC-32)计算键值后,将资料分散在不同的机器上。当表格满了以后,接下来新增的资料会以LRU机制替换掉。 由于memcached通常只是当作快取系统使用,所以使用memcached的应用程式在写回较慢的系统时(像是后端的数据库)需要额外的程式码更新 memcached内的资料。
memcached具有多种语言的客户端开发包,包括:Perl/PHP/JAVA/C/Python/Ruby/C#/MySQL/
客户端包的下载地址是:http://code.google.com/p/memcached/wiki/Clients