https://blog.csdn.net/wydyd110/article/details/84023688
感谢 ,自己学习记笔记
内存里建立一个哈希表,后来数据多了,爆了。咋整呢?
一个算法,就是LRU,就是用最新的数据,不常用的数据就删掉(如果用的时候,再从数据库取。)
如果内存快爆了,就把不常用的数据删掉。
用什么数据结构呢? 哈希链表!
举例子,现在链表连接顺序是 key1,key2,key3,key4
现在需要调用key10(第一次调用,先从数据库取出,放到哈希链表里)
哈希链表结构: key1,key2,key3,key4 ,key10 (自动把最新访问的数据插到队尾)
现在需要调用key2
哈希链表结构: key1,key3,key4 ,key10 ,key2(自动把最新访问的数据插到队尾)
现在需要调用:key1
哈希链表结构:key3,key4 ,key10 ,key2,key1(自动把最新访问的数据插到队尾)
如果说内存不足了,则从最左边开始删除,从key3开始删除。至于删除几个,看你怎么定义了
就是这么个原理