2、Redis的資料型別-string

專注的阿熊發表於2021-07-06

127.0.0.1:6380[8]> set k1 "a"

OK

127.0.0.1:6380[8]> get k1

"a"

127.0.0.1:6380[8]> set k2 "b" ex 5 nx #ex 表示 k2 的過期時間,一旦超時 5 秒, k2 就會失效; nx 表示當沒有 k2 時,建立 k2

OK

127.0.0.1:6380[8]> get k2  #5 秒還沒到, k2 還沒有失效

"b"

127.0.0.1:6380[8]> get k2  #5 秒已到, k2 失效,沒有 value 值了

(nil)

127.0.0.1:6380[8]> set k1 "b" xx #xx 表示更新,即 k1 已經存在,更新一個新值

OK

127.0.0.1:6380[8]> get k1

"b"

127.0.0.1:6380[8]> append k2 "abc" # 前面 k2 已經失效不存在了,當 k2 不存在時,新建一個鍵值對

(integer) 3

127.0.0.1:6380[8]> get k2

"abc"

127.0.0.1:6380[8]> append k2 "ee" #k2 已經存在,這裡表示在已有的字串末尾追加新的字串

(integer) 5

127.0.0.1:6380[8]> get k2

"abcee"

127.0.0.1:6380[8]> set k3 "hello world" # 設定一個 k3

OK

127.0.0.1:6380[8]> setrange k3 6 "Redis" # 用新的字串覆蓋第 7 位開始後的字串

(integer) 11

127.0.0.1:6380[8]> get k3

"hello Redis"

127.0.0.1:6380[8]> strlen k3

(integer) 11

127.0.0.1:6380[8]> mset k4 "hello" k5 "java" # 設定多個鍵值對,命令不會失敗的,當 key 已經存在則覆蓋,當不存在時則新建

OK

127.0.0.1:6380[8]> mget k4 k5 # 查詢多個 key 對應的 value

1) "hello"

2) "java"

2 value 為數值

127.0.0.1:6380[8]> set k1 100 # 先設定一個初始值

OK

127.0.0.1:6380[8]> incr k1  # 對一個已經存在的 key value 值加 1

(integer) 101

127.0.0.1:6380[8]> incr k2  # 對不存在的 key value 值加 1 ,當 key 不存在時,先設初值為 0 ,再加 1 返回

(integer) 1

127.0.0.1:6380[8]> decr k1  # 對一個已經存在的 key value 值減 1

(integer) 100

127.0.0.1:6380[8]> incr k2

(integer) 2

127.0.0.1:6380[8]> decr k2

(integer) 1

127.0.0.1:6380[8]> decr k2

(integer) 0

127.0.0.1:6380[8]> decr k2 # 對一個已經存在的 key value 值減 1 ,這個 value 值為 0 ,減 1 後變成 -1 返回

(integer) -1

127.0.0.1:6380[8]> decr k3 # 對一個不存在的 key value 值減 1 ,當 key 不存在時,先設初值為 0 ,再減 1 返回

(integer) -1

127.0.0.1:6380[8]> set k4 200

OK

127.0.0.1:6380[8]> incrby k4 10 # 對一個已經存在的 key value 值加 10

(integer) 210

127.0.0.1:6380[8]> decrby k4 10 # 對一個已經存在的 key value 值減 10

(integer) 200

127.0.0.1:6380[8]> incrby k5 300 # 對一個不存在的 key value 值加 300 ,先設初值為 0 ,再加 300 返回

(integer) 300

127.0.0.1:6380[8]> incrbyfloat k6 0.8 # 對一個不存在的 key value 值加小數 0.8 返回

"0.8"

127.0.0.1:6380[8]> set k7 400

OK

127.0.0.1:6380[8]> incrbyfloat k7 0.5 # 對一個已經存在的 key value 值加小數 0.5 返回

"400.5"

3 value 為點陣圖、

127.0.0.1:6380[8]> setbit k1 1 1

(integer) 0

127.0.0.1:6380[8]> setbit k1 2 1 # 設定後, k1 value 二進位制為 01100000

(integer) 0

127.0.0.1:6380[8]> getbit k1 0

(integer) 0

127.0.0.1:6380[8]> getbit k1 1

(integer) 1

127.0.0.1:6380[8]> getbit k1 2

(integer) 1

127.0.0.1:6380[8]> bitcount k1  # 設定後, k1 value 二進位制為 01100000 ,可見有 2 1

(integer) 2

127.0.0.1:6380[8]> bitpos k1 0

(integer) 0

127.0.0.1:6380[8]> bitpos k1 1

(integer) 1

127.0.0.1:6380[8]> setbit k2 3 1 # 設定後, k2 value 二進位制為 00010000

(integer) 0

127.0.0.1:6380[8]> bitpos k2 1  #k2 value 二進位制為 00010000 ,第一個被裝置為 1 的二進位制位是 3

(integer) 3

127.0.0.1:6380[8]> bitpos k2 1 0 1 # 限制查詢範圍在 0 1 位元組

(integer) 3

127.0.0.1:6380[8]> bitpos k2 1 1 2 # 限制查詢範圍在 1 2 位元組

(integer) -1

127.0.0.1:6380[8]> setbit k3 1 1

(integer) 0

127.0.0.1:6380[8]> setbit k3 2 1

(integer) 0

127.0.0.1:6380[8]> setbit k3 3 1 # 設定後, k3 value 二進位制為 01110000

(integer) 0

127.0.0.1:6380[8]> setbit k4 3 1 # 設定後, k4 value 二進位制為 00010000

(integer) 0

127.0.0.1:6380[8]> bitop and andkey k3 k4 外匯跟單gendan5.com #k3 k4 二進位制位取邏輯與,結果為 00010000 ,其 1 個位元組,返回值為字串長度 1

(integer) 1

127.0.0.1:6380[8]> bitcount andkey  # 檢視 andkey value 只有 1 1

(integer) 1

127.0.0.1:6380[8]> bitop or orkey k3 k4  #k3 k4 二進位制位取邏輯或,結果為 01110000 ,其 1 個位元組,返回值為字串長度 1

(integer) 1

127.0.0.1:6380[8]> bitcount orkey  # 檢視 orkey value 3 1

(integer) 3

127.0.0.1:6380[8]> bitop xor xorkey k3 k4  #k3 k4 二進位制位取邏輯異或,結果為 01100000 ,其 1 個位元組,返回值為字串長度 1

(integer) 1

127.0.0.1:6380[8]> bitcount xorkey  # 檢視 xorkey   value 2 1

(integer) 2

127.0.0.1:6380[8]> bitop not notkey k3  #k3 二進位制位取邏輯非,結果為 10001111 ,其 1 個位元組,返回值為字串長度 1

(integer) 1

127.0.0.1:6380[8]> bitcount notkey  # 檢視 notkey value 5 1

(integer) 5


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69946337/viewspace-2779976/,如需轉載,請註明出處,否則將追究法律責任。

相關文章