redis实现朋友圈点赞
生活随笔
收集整理的這篇文章主要介紹了
redis实现朋友圈点赞
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
List類型
數據存儲需求: 存儲多個數據,并對數據進入存儲空間的順序進行區分
需要的存儲結構:一個存儲空間保存多個數據,且通過數據可以體現進入順序
list類型:保存多個數據,底層使用雙向鏈表存儲結構實現
基本操作
添加/修改數據
lpush key value1 [value2] ...
rpush key value1 [value2] ...
獲取數據
lrange key start stop
# 獲取所有
lrange key 0 -1
lindex key index
llen key
獲取并移除數據
lpop key
rpop key
擴展操作
規定時間內獲取并移除數據
blpop key1 [key2] timeout
brpop key1 [key2] timeout
業務場景
朋友圈點贊,要求按照點贊順序顯示點贊好友信息
如果取消點贊,移除對應好友信息
移除指定數據
lrem key count value
Trips 6:
redis應用于具有操作先后順序的數據控制
注意事項
list中保存的數據都是string類型的,數據總容量是有限的,最多2^32-1個元素
list具有索引的概念,但是操作數據時通常以隊列的形式進行入隊出隊操作,或以棧的形式進行入棧出棧操作
獲取全部數據操作結束索引設置為-1
list可以對數據進行分頁操作,通常第一頁的信息來自于list,第二頁及更多的信息通過數據庫的形式加載
大概思路分析:
點贊用戶列表可以用一個list里面按順序存放著用戶id,而用戶的信息以json字符串的方式存在一個string中,當需要顯示點贊用戶名字列表,只需要讀取id list 根據id找到用戶名字,處理后即可獲取.
當需要移除時可以將用戶的id用lrem 去除, 至于如何避免重復點贊,可以增加一個set,set中存放點贊后的用戶id,這樣在進行rpush操作前先判斷set中是否存在用戶id,存在即以點贊過,否則未點贊.
總結
以上是生活随笔為你收集整理的redis实现朋友圈点赞的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Crypto 模块安装
- 下一篇: wifislax中的linset软件钓鱼