1、緩存
應(yīng)該是redis最常使用的場景,將系統(tǒng)經(jīng)常需要用到但是不會經(jīng)常改變的數(shù)據(jù)放入redis中,系統(tǒng)調(diào)用時候直接從緩存中獲取,效率高并且減少數(shù)據(jù)庫的負(fù)擔(dān)
2、消息隊(duì)列
可以使用消息隊(duì)列中的list的數(shù)據(jù)類型,通過lpush和rpop等命令,實(shí)現(xiàn)類似消息隊(duì)列的功能
3、分布式session
如果一個分布式系統(tǒng)用戶狀態(tài)是用session去維持的,則將平常保存在服務(wù)器端的session信息放入redis中,對請求進(jìn)行攔截,獲取session操作從redis中獲取,這樣redis中的一份session信息,可以被分布式部署的服務(wù)調(diào)用。例如spring-session+redis就是一種常見的分布式session解決方案。
4、分布式鎖實(shí)現(xiàn)
redis的SETNX命令是SET IF NOT EXISTS的縮寫,設(shè)置成功,返回 1 ,否則返回0。不考慮程序異常情況,當(dāng)一個線程調(diào)用SETNX命令時,假如返回0,證明鎖已經(jīng)被其它占用。
5、其它
Set 可以實(shí)現(xiàn)交集、并集等操作,從而實(shí)現(xiàn)共同好友等功能。ZSet 可以實(shí)現(xiàn)有序性操作,從而實(shí)現(xiàn)排行榜等功能。