【IT168 资讯】缓存的重要性不言而喻,它被系统以多种不同的方式来运用,可能储存在内存、硬盘,或数据库中,也常被用于处理DNS请求。
意大利经济学家Vilfredo Pareto的8-2法则,在经济领域之外的计算机系统缓存方面仍然适用,80%的时间用户只访问20%的数据。使用好缓存,将有效地节约系统资源,提供系统性能。
这5款最好的免费/开源的Linux缓存系统,自然不能错过。
memcached是一套分布式的快取系统,当初是Danga Interactive为了LiveJournal所发展的,但目前被许多软件(如MediaWiki)所使用。这是一套开放源代码软件,以BSD license授权释出。
Redis 是一个高性能的key-value数据库。 redis的出现,很大程度补偿了memcached这 类keyvalue存储的不足,在部 分场合可以对关系数据库起到很好的补充作用。它提供了Python,Ruby,Erlang,PHP客户端,使用很方便。问题是这个项目还很新,可能还不 足够稳定,而且没有在实际的一些大型系统应用的实例。此外,缺乏mc中批量get也是比较大的问题,始终批量获取跟多次获取的网络开销是不一样的。
Membase是开源项目,源代码采用了Apache2.0的使用许可。该项目托管在GitHub.Source tarballs上,目前可以 下载beta版本的Linux二进制包。该产品主要是由North Scale的memcached核心团队成员开发完成,其中还包括Zynga和NHN这两个主要贡献者的工程师,这两个组织都是很大的在线游戏和社区网络空间的供应商。
EhCache 是一个纯Java的进程内缓存框架,具有快速、精干等特点,是Hibernate中默认的CacheProvider。
JCS(Java Caching System)是Jakarta的子项目。它是一个复合式的缓冲工具。可以将对象缓冲到内存、硬盘。具有缓冲对象时间过期设定。还可以通过JCS构建具有 缓冲的分布式构架,以实现高性能的应用。 对于一些需要频繁访问而每访问一次都非常消耗资源的对象,可以临时存放在缓冲区中,这样可以提高服务的性能。而JCS正是一个很好的缓冲工具。缓冲工具对 于读操作远远多于写操作的应用性能提高非常显著。