go
princeteng
这个作者很懒,什么都没留下…
展开
-
groupcache源码分析一:LRU
1.LRU简介LRU(Least Recently Used)是一种缓存淘汰策略.受内存大小的限制,不能将所有的数据都缓存在内存中,当缓存超过规定的容量时,再往里面加数据就要考虑将谁先换出去,即淘汰掉.LRU的做法是:淘汰最近最少使用的数据.LRU可以通过哈希表+双向链表实现,双向链表的每个结点中存储{key,value},哈希表中存储{key,key所在的结点}.具体实现可参考:leetcode146——LRU 缓存机制内存结构示意图LRU最主要的两个操作为get和put(或add),其中g原创 2020-05-12 10:26:19 · 225 阅读 · 0 评论 -
go中的list
1.结点Element1.1 结点结构// Element is an element of a linked list.type Element struct { // Next and previous pointers in the doubly-linked list of elements. // To simplify the implementation, internally a list l is implemented // as a ring, such that &原创 2020-05-11 15:11:16 · 580 阅读 · 0 评论