
redis
ThunderWay
北京工业大学计算机研究生就读
展开
-
Redis内存淘汰机制(MySQL里有2000w数据,Redis中只存20w数据,如何保证redis中的数据都是热点数据?)
redis提供了6种数据淘汰策略: volatile-lru:从已设置过期时间的数据集中挑选最近最少使用的数据淘汰。 volatile-ttl:从已设置过期时间的数据集中挑选将要过期的数据淘汰。 volatile-random:从已设置过期时间的数据集中任意选择数据淘汰。 allkeys-lru(最常用):当内存不足以容纳新写入数据时,在键空间中,移出最近最少使用的key。 allkeys-random:当内存不足以容纳新写入数据时,从数据集中任意选择数据淘汰。 no-eviction原创 2020-11-07 19:31:17 · 565 阅读 · 0 评论 -
Redis设置过期时间
使用redis在set key的时候可以给一个expire time,就是过期时间,通过过期时间可以指定这个key可以存活的时间。假设设置了一批key只能存活1个小时的时间,那么1个小时之后redis是怎么对这些key进行删除的? 定期删除:redis默认是每隔100ms就随机抽取一些设置了过期时间的key,检查是否过期,如果过期就删除。(这里是随机抽取,因为假如redis存了几十万个key,每隔100ms就遍历所有设置过期时间的key,会给cpu带来很大的负载。) 惰性删除:定期删除导致可能很多过期原创 2020-11-07 19:30:30 · 2826 阅读 · 2 评论 -
Redis和Memcached区别
1. Redis不光支持简单的key-value型数据库,同时还支持list、set、String、hash等数据结构,而memcached只支持简单的数据类型String 2. Redis支持数据持久化,数据可以从内存持久化到磁盘,下次启动再加载,而memcached把数据全部存储在内存中。 3. Redis是单线程网络IO模型,memcached是多线程、非阻塞复用的网络模型。 4. Redis比memcached快 ...原创 2020-11-07 19:29:42 · 226 阅读 · 0 评论