世界上并没有完美的程序,但我们并不因此而沮丧,因为写程序本来就是一个不断追求完美的过程。 ——摘自周志明

redis常见问题

1、redis满了,怎么处理?

 (1)内存淘汰策略(2)集群,动态增加redis服务器(推荐)

 

2、val比较大时(比如50MB),会有什么影响?

  因为redis是单线程,多路IO复用的,所以当一个val比较大时,处理时间也会变长,导致其他操作会阻塞。

 

3、mysql里有2000W数据,redis只存20w的数据,如何保证redis中的数据都是热点数据?

redis默认是:noeviction: 不删除策略。

可以配置,内存淘汰策略,来实现随时间动态调整redis内存数据。

提供6种淘汰策略:

  voltile-lru:从已设置过期时间的数据集(server.db[i].expires)中挑选最近最少使用的数据淘汰

  volatile-ttl:从已设置过期时间的数据集(server.db[i].expires)中挑选将要过期的数据淘汰

  volatile-random:从已设置过期时间的数据集(server.db[i].expires)中任意选择数据淘汰

 

  allkeys-lru:从数据集(server.db[i].dict)中挑选最近最少使用的数据淘汰

  allkeys-random:从数据集(server.db[i].dict)中任意选择数据淘汰

  no-enviction(驱逐):禁止驱逐数据

 

posted @ 2019-04-23 21:42  白杯与咖啡  阅读(130)  评论(0编辑  收藏  举报