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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

Redis实战(二):Redis 的 String 类型 bitmap

發布時間:2024/2/28 数据库 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Redis实战(二):Redis 的 String 类型 bitmap 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Redis

常用命令、數據類型

查看幫助

To get help about Redis commands type:"help @<group>" to get a list of commands in <group>"help <command>" for help on <command>"help <tab>" to get a list of possible help topics"quit" to exit

例如,help @string

字符串操作

set k1 value1 nx nx表示無值的時候才執行成功

set k1 value1 xx xx表示有值的時候才執行成功

mset k3 value3 k4 value4 含義為 more set,用來設置多個值

mget k1 k2 獲取兩個值

msetnx k2 c k3 d 這個命令可以保證多筆操作是原子操作,類似于一個事務中

appenk k1 "world" 在k1后面追加world

getrange k1 2 5 獲取k1某兩個索引之間的字符串子串(支持正負索引

setrange k1 mashibing 從某個索引開始覆蓋

strlen k1 獲取字符串長度

getset k1 bashibing 取出舊值,并將舊值設置為新值(這樣可以減少一次IO通信)

查看某個key的類型

type k1查看k1的類型

如果value為1,查看的時候顯示是string類型,但是是可以進行int類型的自增操作的:incr k1

查看encoding編碼類型

object encoding k1
如果value為1,上面的命令顯示為int類型

有一些方法會改變數據的類型

數值類型的加減操作

decr k1 k1-1

decrby k1 22 k1+22

incrbyfloat k1 0.5k1-0.5

二進制安全

redis 是二進制安全的,并不會去破壞你的編碼,也不去關心你是什么編碼。底層存儲的時候,是按照Byte字節存儲的。我們前面看到的encoding,只是為了讓加減之類的運算方法變得更快一些。
(HBASE也是二進制安全的)

在redis進程與外界交互的時候,redis存儲的是字節流,而不會轉換成字符流,也不會擅自按照某種數據類型存儲,這樣保證了數據不會被破壞,不會發生數據被截斷/溢出等錯誤。

  • 編碼并不會影響數據的存儲
  • 因此,在多人使用redis的時候,我們一定要在用戶端約定好數據的編碼和解碼

問:Redis單線程是為了減少用戶態到內核態的切換嗎?
答:不是,至少主要原因不是。
操作系統為了響應多用戶的請求,而進行的從用戶態到內核態的切換,造成的的性能損耗,遠不及為了保證數據一致性加鎖帶來的損耗。
Redis單線程是為了避免加鎖的過程。

位圖 bitmap


bitop按位操作

業務場景:

  • 公司有用戶系統,讓你統計用戶登錄天數,且時間窗口隨機。例如,A用戶在某一年中登陸了幾次。怎么優化?
    可以使用redis實現,假設一年400天,讓每一天對應一個二進制位,需要50個字節即可。
    setbit Tom 1 1 表示 Tom 在第2天登錄了一次(下標從0開始)
    setbit Tom 364 1 表示 Tom 在第365天登錄了一次
    bitcount Tom -2 -1 統計 Tom 在最后16天的總登錄次數
  • 你是京東,618做活動,登錄就送禮物,假設京東有2億用戶。大庫應該備貨多少禮物?
    用戶應該分為:僵尸用戶、冷熱用戶、忠誠用戶
    你需要統計活躍用戶,也是隨機時間窗口
    比如說,統計本月1號~3號范圍內的活躍過的用戶,需要去重

總結

以上是生活随笔為你收集整理的Redis实战(二):Redis 的 String 类型 bitmap的全部內容,希望文章能夠幫你解決所遇到的問題。

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