2011年6月10日

一种O1性能的LRU算法

摘要: LRU是一种淘汰算法,淘汰那些最久没被访问过的节点,以提高cache命中率。网游后台cache server经常会用到。这里说一种O1算法。先明确两个操作相关的对象1. DataKey: cache数据的key2. IndexNode: 链表节点,内部有数据的indexlist(单向链表) 保存DataKeys。hashtable(表) 以DataKey作为key, IndexNode做为值,从DataKey可以定位到IndexNode。访问一个数据对象 先用DataKey查hash,如果找到,将IndexNode从list原来的位置拿掉,然后插到尾部。 如果没找到,说明数据第一次被访问,有可 阅读全文

posted @ 2011-06-10 09:48 daemonh 阅读(458) 评论(0) 推荐(0)

导航