redis字符串類型鍵的二進制操作


  • 命令名稱:setbit
  • 語法:setbit key offset value
  • 功能:
    • 1)對key所存儲的字符串值,設置或清除指定偏移量上的位(bit),位的設置或清除取決於value參數,可以是0也可以是1。
    • 2)字符串會進行伸展(grown)以確保它可以將value保存在指定的偏移量上。當字符串值進行伸展時,空白位置以0填充。offset參數必須大於或等於0,小於2^32(bit映射被限制在512MB之內)
  • 返回值:
    • 1)當key不存在時,自動生成一個新的字符串值。
    • 2)指定偏移量原來存儲的位。

 

  • 命令名稱:getbit
  • 語法:getbit key offset
  • 功能:1)對key所存儲的字符串值,獲取指定偏移量上的位(bit)
  • 返回值:
    • 1)當offset比字符串值的長度大,或者key不存在時,返回0。
    • 2)字符串值偏移量上的位(bit)

 

  • 命令名稱:bitcount
  • 語法:bitcount key [start] [end]
  • 注意:start和end是一個字節,一個字節為8位
  • 功能:
    • 1)計算給定字符串中,被設置為1的比特位的數量。
    • 2)一般情況下,給定的整個字符串都會被進行計數,通過指定額外的start或end參數,可以讓計數只在特定的位上進行。
  • 返回值:1)不存在的key被當成是空字符串來處理,因此對一個不存在的key進行bitcount操作,結果為0/被設置為1的位的數量

 

  • 命令名稱:bitop
  • 語法:bitop operation destkey key [key……]
  • 功能:1)對一個或多個保存二進制位的字符串key進行位元操作,並將結果保存到destkey上。
  • OPERATION:
    • 1)可以是and(與)、or(或)、not(非)、xor(異或)這四種操作中的任意一種。
    • 2)除了not操作外,其他操作都可以接受一個或多個key作為輸入
  • 注意:1)當bitop處理不同長度的字符串時,較短的那個字符串所缺少的額部分會被看做0.空的key也被看做是包含0的字符串序列
  • 返回值:1)保存到destkey的字符串的長度,和輸入key中最長的字符串長度相等。

 

  • 命令名稱:bitpos
  • 語法:bitpos key bit [start] [end]
  • 注意:start和end是一個字節,一個字節為8位
  • 功能:1)返回字符串里面第一個被設置為1或者0的bit位。
  • 返回值:
    • 1)命令返回字符串里面第一個被設置為1或者0的bit位。
    • 2)如果我們在空字符串或者0字節的字符串里面查找bit為1的內容,那么結果將返回-1。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM