1、缓存
应该是redis最常使用的场景,将系统经常需要用到但是不会经常改变的数据放入redis中,系统调用时候直接从缓存中获取,效率高并且减少数据库的负担
2、消息队列
可以使用消息队列中的list的数据类型,通过lpush和rpop等命令,实现类似消息队列的功能
3、分布式session
如果一个分布式系统用户状态是用session去维持的,则将平常保存在服务器端的session信息放入redis中,对请求进行拦截,获取session操作从redis中获取,这样redis中的一份session信息,可以被分布式部署的服务调用。例如spring-session+redis就是一种常见的分布式session解决方案。
4、分布式锁实现
redis的SETNX命令是SET IF NOT EXISTS的缩写,设置成功,返回 1 ,否则返回0。不考虑程序异常情况,当一个线程调用SETNX命令时,假如返回0,证明锁已经被其它占用。
5、其它
Set 可以实现交集、并集等操作,从而实现共同好友等功能。ZSet 可以实现有序性操作,从而实现排行榜等功能。