中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Redis中GETBIT和SETBIT的詳細介紹

發布時間:2021-09-13 07:25:11 來源:億速云 閱讀:130 作者:chen 欄目:關系型數據庫

本篇內容介紹了“Redis中GETBIT和SETBIT的詳細介紹”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

Redis是in-memery的數據庫,其優勢不言而喻。
詳細可以閱讀一下官網的介紹。https://redis.io

其主要有五種數據類型:strings,lists,sets,hashes。
在學習到strings類型的常見命令的時候,對GETBITSETBIT的意義并不是非常了解,所以就搜索了一下相關文章。看到一篇介紹GETBITSETBIT的應用的文章,感覺非常強大,記錄如下:

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

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

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

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的視頻。

設置
# SETBIT key offset value

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

查詢

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

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

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

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

“Redis中GETBIT和SETBIT的詳細介紹”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

边坝县| 雷山县| 平顶山市| 铜陵市| 阿勒泰市| 娱乐| 高州市| 绥阳县| 大田县| 南投县| 怀集县| 天峻县| 石狮市| 新泰市| 道孚县| 平遥县| 桐乡市| 谢通门县| 关岭| 平利县| 于田县| 景洪市| 永川市| 慈利县| 平乐县| 琼海市| 婺源县| 芜湖县| 准格尔旗| 南投市| 汝南县| 临澧县| 桂阳县| 咸丰县| 阿坝| 郴州市| 万全县| 剑川县| 房产| 东平县| 玛纳斯县|