一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|數據庫技術|

服務器之家 - 數據庫 - Redis - Redis中的bitmap詳解

Redis中的bitmap詳解

2021-11-22 18:14小樂樂的天臺 Redis

BitMap是通過一個bit位來表示某個元素對應的值或者狀態,其中的key就是對應元素本身。我們知道8個bit可以組成一個Byte,所以bitmap本身會極大的節省儲存空間,下面通過本文給大家介紹Redis中的bitmap知識,感興趣的朋友一起看看吧

1、什么是bitmap?

bitmap也叫位圖,也就是用一個bit位來表示一個東西的狀態,我們都知道bit位是二進制,所以只有兩種狀態,0和1。

2、為什么要有bitmap?

bitmap的出現就是為了大數據量而來的,但是前提是統計的這個大數據量每個的狀態只能有兩種,因為每一個bit位只能表示兩種狀態。
下面我們直接以一個統計億級用戶活動的狀態來說明吧。

3、案例說明 3.1、案例描述

如果有一個上億用戶的系統,需要我們去統計每一天的用戶登錄情況,我們應該如何去解決?
前提條件:設置在9月19號有下標為100、101、102、103四個用戶都登錄了系統
設置在9月20號有下標為100、101、102三個用戶都登錄了系統
提出問題:
1、取出9月19號登錄系統的有多少人?
答:直接獲取即可。
2、取出9月19號和9月20號連續登錄系統的有多少人?
答:兩天的數據取&運算。
3、取出9月19號與9月20號任意一天登錄的有多少人?
答:兩天的數據取|運算。

3.2、解決方案

3.2.1、解決方案1—使用傳統數據庫解決

如果我們需要使用傳統的數據庫去統計的話,我么需要創建一張表,然后某個用戶登錄了,我們就去在表里面插上一條記錄,登記用戶的id,用戶登錄的時間等等,但是這樣出現的問題就是,每一天的數據量都很大,我們在統計日活時,效率就很低,所以這種解決方案是不能被考慮的。

3.2.2、解決方案2—使用bitmap解決

既然用戶登錄只有兩種狀態,那么,我們就可以用bitmap
比如0表示未登錄,1表示登錄

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
// 設置在9月19號有下標為100、101、102、103四個用戶都登錄了系統 start
127.0.0.1:6379> setbit login_09_19 100 1
(integer) 0
127.0.0.1:6379> setbit login_09_19 101 1
(integer) 0
127.0.0.1:6379> setbit login_09_19 102 1
(integer) 0
127.0.0.1:6379> setbit login_09_19 103 1
(integer) 0
// 設置在9月19號有下標為100、101、102、103四個用戶都登錄了系統 end
 
// 設置在9月20號有下標為100、101、102三個用戶都登錄了系統 start
127.0.0.1:6379> setbit login_09_20 100 1
(integer) 0
127.0.0.1:6379> setbit login_09_20 101 1
(integer) 0
127.0.0.1:6379> setbit login_09_20 102 1
(integer) 0
// 設置在9月20號有下標為100、101、102三個用戶都登錄了系統 end
 
// 取出9月19號登錄系統的有多少人? start
127.0.0.1:6379> bitcount login_09_19
(integer) 4
// 取出9月19號登錄系統的有多少人? end
 
// 取出9月19號和9月20號連續登錄系統的有多少人?start
127.0.0.1:6379> bitop and login_in_09_19_20:and login_09_19 login_09_20
(integer) 13
127.0.0.1:6379> bitcount login_in_09_19_20:and
(integer) 3
// 取出9月19號和9月20號連續登錄系統的有多少人?end
 
// 取出9月19號與9月20號任意一天登錄的有多少人?start
127.0.0.1:6379> bitop or login_in_09_19_20:or login_09_19 login_09_20
(integer) 13
127.0.0.1:6379> bitcount login_in_09_19_20:or
(integer) 4
// 取出9月19號與9月20號任意一天登錄的有多少人?end

Redis中的bitmap詳解

到此這篇關于redis中的bitmap詳解的文章就介紹到這了,更多相關redis中的bitmap內容請搜索服務器之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持服務器之家!

原文鏈接:https://blog.csdn.net/qq_41931364/article/details/120926014

延伸 · 閱讀

精彩推薦
  • RedisRedis的配置、啟動、操作和關閉方法

    Redis的配置、啟動、操作和關閉方法

    今天小編就為大家分享一篇Redis的配置、啟動、操作和關閉方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧 ...

    大道化簡5312019-11-14
  • RedisRedis 事務知識點相關總結

    Redis 事務知識點相關總結

    這篇文章主要介紹了Redis 事務相關總結,幫助大家更好的理解和學習使用Redis,感興趣的朋友可以了解下...

    AsiaYe8232021-07-28
  • Redis詳解Redis復制原理

    詳解Redis復制原理

    與大多數db一樣,Redis也提供了復制機制,以滿足故障恢復和負載均衡等需求。復制也是Redis高可用的基礎,哨兵和集群都是建立在復制基礎上實現高可用的...

    李留廣10222021-08-09
  • Redisredis 交集、并集、差集的具體使用

    redis 交集、并集、差集的具體使用

    這篇文章主要介紹了redis 交集、并集、差集的具體使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友...

    xiaojin21cen10152021-07-27
  • Redisredis中如何使用lua腳本讓你的靈活性提高5個逼格詳解

    redis中如何使用lua腳本讓你的靈活性提高5個逼格詳解

    這篇文章主要給大家介紹了關于redis中如何使用lua腳本讓你的靈活性提高5個逼格的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具...

    一線碼農5812019-11-18
  • Redisredis實現排行榜功能

    redis實現排行榜功能

    排行榜在很多地方都能使用到,redis的zset可以很方便地用來實現排行榜功能,本文就來簡單的介紹一下如何使用,具有一定的參考價值,感興趣的小伙伴們...

    乘月歸5022021-08-05
  • RedisRedis全量復制與部分復制示例詳解

    Redis全量復制與部分復制示例詳解

    這篇文章主要給大家介紹了關于Redis全量復制與部分復制的相關資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用Redis爬蟲具有一定的參考學習...

    豆子先生5052019-11-27
  • RedisRedis如何實現數據庫讀寫分離詳解

    Redis如何實現數據庫讀寫分離詳解

    Redis的主從架構,能幫助我們實現讀多,寫少的情況,下面這篇文章主要給大家介紹了關于Redis如何實現數據庫讀寫分離的相關資料,文中通過示例代碼介紹...

    羅兵漂流記6092019-11-11
主站蜘蛛池模板: 91久久国产视频 | 成人福利影院 | 男女做污事| 99久久综合精品免费 | 四虎影视4hutv最新地址在线 | 国产一级视频在线观看 | 大陆国产vs国产对白 | 国产高清一区二区 | 午夜AV亚洲一码二中文字幕青青 | naruto hentai玖辛奈| 精品日本三级在线观看视频 | 成人影院免费看 | 国产午夜亚洲精品一区网站 | 亚洲男1069gay男猛男 | china外卖员gay帮口 | 99精品视频在线观看免费 | 青草久久网 | 亚洲国产成人在线 | 饭冈加奈子黑人解禁在线播放 | 精品精品国产自在现拍 | 水多多凹凸福利视频导航 | 亚洲欧美精品天堂久久综合一区 | 国产成人a∨麻豆精品 | 久久成人精品免费播放 | 四虎影院永久在线 | 四虎影免看黄 | 天天色资料 | 国产成人免费高清激情视频 | 91入口免费网站大全 | 2021国产麻豆剧传媒剧情 | 午夜福利院电影 | 国产欧美综合一区二区 | 成年性香蕉漫画在线观看 | 亚洲大爷操 | 成年人免费在线看 | 亚洲视频高清 | 天堂资源在线www中文 | 洗濯屋H纯肉动漫在线观看 武侠艳妇屈辱的张开双腿 午夜在线观看免费观看 视频 | 非洲黑女人性xxxx | 国产精品特黄毛片 | 午夜影院在线免费观看 |