坏人

heycacher缓存组件,需要的同志来取。

特性:

1、本身基本上不做任何存储方面的工作,全部使用第三方的,只是提供一个干净、稳定的API接口,用着放心。

 

2、缓存依赖、过期策略、失效通知等基本功能都支持。

 

3、支持TAG方式的缓存读写。

 

4、支持一种比较特殊的分布缓存模式:各个本地节点(比如某个ASPNET进程)将缓存存储于本地进程内,而非走TCP等协议存储于远程,然后有一个noti服务器,当某个节点的某个缓存失效后,会发消息通知noti服务器,noti服务器再去通知所有节点,使各节点缓存失效,通过这种方式来确保各节点版本的同步,这样做的好处在于,可以将一些很频繁获取但数据量又不是特别大的数据存放在进程内,这样可以节省远程通信、反序列化的时间成本,提高响应速度,并且没有在GET的时候去核对版本,而是SET的时候去通知节点失效,是因为通常缓存的SET的比例都非常低,而GET的比例非常高,并且通知的操作是异步的,所以不用担心写操作导致的响应速度降低。

 

5、自动的缓存命中率管理,这个也算个重点功能,主要是可以通过判断缓存的读的次数,再辅助一定的规则,来确认缓存的命中率是否足够高,并且可以根据这个命中率的高低来决定缓存的存储位置,特别低的就不缓存了,比较低的存磁盘,再高点的就存远程服务器,实在高得没法的,存本地进程,至于某种存储方式选用具体哪个存储引擎,依然是可以配置的,至于如何计算命中率,也已经做成PROVIDER模式,可以自行更换,如果你觉得自己有更合理的计算规则,也可以自己写个PROVIDER。

 

下载地址,包含源代码哈:http://code.google.com/p/heycacher2/downloads/list

posted on 2008-08-07 19:06  cnlamar  阅读(2757)  评论(15编辑  收藏

导航

统计