1、简述redis应用场景。
答:①缓存。缓存现在几乎是所有中大型网络都在使用的必杀技,合理的利用缓存不仅能够提升网站的访问速度,还能大大降低数据库的压力。Redis提供了键过期功能,也提供了灵活的键淘汰策略,所以,现在Redis用于缓存的场合非常多。
②排行榜。Redis提供有序集合数据类能够实现各种复杂的排行榜应用。
③计数器。Redis提供的incr命令来实现计数器功能,内存操作,性能非常好,能很好地适用于这些计算场景。
④分布式会话。在应用增多相对复杂的系统中,一般都会搭建以Redis等内存数据库为中心的session服务,session不再由容器管理,而是由session服务及内存数据库管理。
⑤分布式锁。可以利用Redis的setnx功能来编写分布式的锁,如果设置返回1说明获取锁成功,否则失败,实际应用中要考虑的细节要更多。
⑥社交网络。Redis提供的哈希、集合等数据结构能很方便的实现社交网站的基本功能。
⑦最新列表。Redis列表结构,LPUSH可以在列表头部插入一个内容ID作为关键字,LTRIM可用来限制列表的数量,这样列表永远为N个ID,无需查询最新的列表,直接根据ID去到对应的内容页即可。
⑧消息系统。Redis提供了发布/订阅及阻塞队列功能,能实现一个简单的消息队列系统。