计数器、缓存、查找表、分布式锁…….

计数器

string类型存储的数字有自增自减的功能,可以实现计数器的功能;

缓存

可以将热点数据放入内存中,使用有序集合进行存储,通过淘汰策略来维护热点数据;
关于数据的淘汰策略,可以设置redis的最大使用内存量;

查找表

可以存放DNS记录这样的数据,查找表不会实失效;

消息队列

可以使用Redis中List的特性,因为List是双向的,内部实现是一个双向链表;

会话缓存

可以使用Redis存储多台应用服务器的会话消息;

分布式锁

Redis自带SETNX可以实现分布式锁;

排序场景(排行榜)

可以借助Redis的有序集合;

扩展

淘汰策略

  • 从已经设置过期的数据中使用次数最少的数据;
  • 从已经设置过期的数据中即将过期的数据;
  • 从已经设置过期的数据中随机选择数据;
  • 从所有的数据中选择使用次数最少的数据;
  • 从所有数据中任意选择;
  • 禁止驱逐数据;

因为redis属于内存数据库,一般用于存储缓存,因此为了提高缓存命中率,需要保证缓存数据都是热点数据,对此可以将redis的最大内存使用量设置成热点数据的使用量,然后从所有数据中选择使用次数最少的缓存进行淘汰;