1.redis内存设置多少,默认是0,不限制
2.如何配置,修改内存大小
1) 查看最大占用内存
# maxmeory <bytes>
或者
config get maxmemory
2) 默认内存多少可以用: 64位系统下不限制,32位下最多3G
3) 如何配置: 默认总内存的3/4
4) 如何修改:
#配置文件
maxmeory 104857600 #100M
config set maxmemory 104857600
5) 查看内存使用情况
info memory
config get maxmemory
3.如果内存满了,怎么办
1) config set maxmemory 104857600
2) 设置过期时间
4.清理内存的方式
定期删除和惰性删除
5.缓存淘汰策略有哪些?
1) 立刻删除
2) 惰性删除
lazyfree-lazy-eviction yes
3) 定期删除
每100毫秒,随机抽取key删除
4) 以上三种总会有没被删除的,缓存淘汰策略
1.noeviction -> 不会驱逐任何key,即使内存达到上限也不进行置换,所有能引起内存增加的命令都会返回
2.allkeys-lru -> 对所有key使用LRU算法进行删除,优先删除掉最近最不经常使用的key
3.volatile-lru -> 对所有设置了过期的key使用LRU算法进行删除
4.allkeys-random -> 所有key随机删除
5.volatile-random -> 对所有设置了过期时间的key随机删除
6.volatile-ttl -> 删除马上要过期的key
7.allkeys-lfu -> 对所有key使用LFU算法进行删除
8.volatile-lfu -> 对所有设置了过期的key使用LFU算法进行删除
# LRU means Least Recently Used 最后一次使用到调用时间,最长时间未被使用
# LFU means Least Frequently Used 一定时间访问次数最少
6.LRU是什么,手写LRU
7.lru和lfu算法的区别
Redis内存管理与缓存淘汰策略
文章讲述了Redis的内存设置方法,包括如何查看和修改最大内存限制,以及默认情况下不同系统下的内存使用情况。它提到了内存满时的处理方式,如设置过期时间和使用不同的缓存淘汰策略,如LRU和LFU。LRU是LeastRecentlyUsed,删除最近最少使用的键,而LFU则是LeastFrequentlyUsed,基于访问频率进行淘汰。
1594

被折叠的 条评论
为什么被折叠?



