Redis慢查詢
1.用於檢視Redis慢日誌。
Redis pipeline
1.用於批次操作
釋出訂閱
1.角色:釋出者和訂閱者、頻道。
2.模型:類似生產者和消費者。
3.API
- publish: publish channel message
- subscribe: subscribe channel
- unsubscribe: unsubscribe channel
- psubscribe: 模式訂閱。
- punsubscribe: 退訂指定的模式。
- pubsub channels: 列出至少有一個訂閱者的頻道。
- pubsub numsub:列出給定頻道的訂閱者數量。
- pubsub numpat:列出被訂閱模式的數量。
4.和訊息佇列的區別:訊息佇列只有一個訂閱者可以收到,而釋出訂閱都可以收到。
Bitmap
1.setbit key offset value:給點陣圖指定索引設定值。
2.不要在一個比較短的key上設定較大的偏移量。
3.getbit key offset 獲取指定偏移量的值。
4.bitcount:獲取點陣圖指定範圍位值為1的個數。
5.bitop:做多個bitmap的and or not xor操作並將結果儲存到destkey中。
6.bitpos:計算點陣圖指定範圍第一個偏移量對應的值等於targetBit的位置。
7.1億使用者 5000萬獨立獨立使用者統計
資料型別 | 每個user_id佔用空間 | 需要儲存的使用者量 | 全部記憶體 |
set | 32位 | 50000000 | 32位*50000000 = 200MB |
bitmap | 1位 | 100000000 | 32位*100000000 = 12.5MB |
但是小的獨立使用者例如(10萬)使用set更優,因為bitmap需要佔用的全部1億使用者資料量。
8.bitmap是string型別,最大512M。
9.注意setbit時的偏移量,可能會有較大耗時。
10.點陣圖不是絕對好。
HyperLogLog
1.極小空間完成獨立使用者統計。
2.本質是字串。
3.pfadd key element :向hyperloglog新增元素。
4.pfcount key :計算獨立總數。
5.pfmerge destKet sourceKey1 sourceKey2:合併。
6.錯誤率 0.81%。
7.無法取出單條資料。
GEO
1.儲存經緯度 計算地理位置資訊。
2.場景:搖一搖。
3.geo key longitude latitude member 儲存經緯度。
4.geopos key member 獲取經緯度。
5.geodist key member1 member2 unit 獲取兩個地理位置的距離。
6.georadius 獲取指定位置範圍內的地理位置資訊集合。
7.3.2+才有 使用zset實現。
本作品採用《CC 協議》,轉載必須註明作者和本文連結