真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Redis中GETBIT和SETBIT的詳細(xì)介紹

本篇內(nèi)容介紹了“redis中GETBIT和SETBIT的詳細(xì)介紹”的有關(guān)知識(shí),在實(shí)際案例的操作過程中,不少人都會(huì)遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

成都創(chuàng)新互聯(lián)公司專注于永修網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠為您提供永修營銷型網(wǎng)站建設(shè),永修網(wǎng)站制作、永修網(wǎng)頁設(shè)計(jì)、永修網(wǎng)站官網(wǎng)定制、成都微信小程序服務(wù),打造永修網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供永修網(wǎng)站排名全網(wǎng)營銷落地服務(wù)。

Redis是in-memery的數(shù)據(jù)庫,其優(yōu)勢(shì)不言而喻。
詳細(xì)可以閱讀一下官網(wǎng)的介紹。https://redis.io

其主要有五種數(shù)據(jù)類型:strings,lists,sets,hashes。
在學(xué)習(xí)到strings類型的常見命令的時(shí)候,對(duì)GETBITSETBIT的意義并不是非常了解,所以就搜索了一下相關(guān)文章??吹揭黄榻BGETBITSETBIT的應(yīng)用的文章,感覺非常強(qiáng)大,記錄如下:

我們?cè)诘顷懩承┎┛途W(wǎng)站或者視頻網(wǎng)站的時(shí)候,網(wǎng)站往往會(huì)記錄我們是否閱讀了某篇文章,或者是觀看了某個(gè)視頻。

如果用傳統(tǒng)的MySQL數(shù)據(jù)庫實(shí)現(xiàn),如果用戶數(shù)量多,文章和視頻也多的情況下,那么則會(huì)給數(shù)據(jù)庫帶來很大的壓力。

而用Redis的GETBIT和SETBIT則會(huì)簡(jiǎn)單得多。
我們以視頻為例,我們用bitmap來記錄用戶們是否已經(jīng)觀看了某一個(gè)視頻,一個(gè)視頻對(duì)應(yīng)一個(gè)bitmap。例如

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

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

設(shè)置
# SETBIT key offset value

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

查詢

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

當(dāng)然您也可以一個(gè)用戶對(duì)應(yīng)一個(gè)bitmap,bitmap中的位代表一個(gè)視頻是否已經(jīng)被觀看。

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

通過統(tǒng)計(jì)多天bitmap就可以實(shí)現(xiàn)統(tǒng)計(jì)活躍用戶之類的操作了。

“Redis中GETBIT和SETBIT的詳細(xì)介紹”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!


分享文章:Redis中GETBIT和SETBIT的詳細(xì)介紹
URL標(biāo)題:http://weahome.cn/article/geoied.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部