日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

【命令】GETBIT/SETBIT

發布時間:2023/10/11 综合教程 72 老码农
生活随笔 收集整理的這篇文章主要介紹了 【命令】GETBIT/SETBIT 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

我們在登陸某些博客網站或者視頻網站的時候,網站往往會記錄我們是否閱讀了某篇文章,或者是觀看了某個視頻。

如果用傳統的mysql數據庫實現,如果用戶數量多,文章和視頻也多的情況下,那么則會給數據庫帶來很大的壓力。

而用Redis的GETBIT和SETBIT則會簡單得多。
我們以視頻為例,我們用bitmap來記錄用戶們是否已經觀看了某一個視頻,一個視頻對應一個bitmap。例如

1
2
key:   video:1201
value: 000000...0000

key以視頻英文名video+冒號+id標記。
value就是一個bitmap。一位(bit)有兩種可能,0或者1。0代表未看,1代表已經看過了。
而位置(offset)代表的就是user id。例如第200位就代表user_id為200的用戶是否觀看過id為1201的視頻。

設置

1
2
3
4
# SETBIT key offset value
 
SET video:1201 200 1
# 上面的命令就是設置ID為200的用戶,已經看過了ID為1201的視頻。

查詢

1
2
3
# GETBIT key offset
GETBIT video:1201 200
# 上面的命令就是查詢ID為200的用戶是否觀看了ID為1201的視頻

當然您也可以一個用戶對應一個bitmap,bitmap中的位代表一個視頻是否已經被觀看。

另外文章中也將到目前非常流行的打卡或者是登陸記錄也可以用相似的設計實現。
例如用一個bitmap記錄所有用戶的登陸情況,bitmap中的一位代表一個用戶當天是否有登陸,0代表沒登陸,1代表有登陸。
每天生成一個bitmap。

通過統計多天bitmap就可以實現統計活躍用戶之類的操作了。

總結

以上是生活随笔為你收集整理的【命令】GETBIT/SETBIT的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。