Redis string型別常用操作

2022-08-19 16:36:10 字數 2723 閱讀 8959

redis 有 string、list、set、zset、hash資料型別。string型別是最基礎的,其他型別都是在string型別上去建立的,所以了解熟悉string型別的常用操作對於學習redis非常必要。

127.0.0.1:6379[7]>get hello

"world

"(integer)

14127.0.0.1:6379[7]>get hello

"worldwonderful

"

setbit:設定或清除指定偏移位的值(位元位從左往右算)

getbit:獲取指定位的位元值

bitcount:獲取指定位元組範圍中有多少位為 1

127.0.0.1:6379[7]> set andy 'a'

ok127.0.0.1:6379[7]>get andy"a

"127.0.0.1:6379[7]> setbit andy 6

1(integer)

0127.0.0.1:6379[7]> setbit andy 7

0(integer)

1127.0.0.1:6379[7]>get andy"b

"127.0.0.1:6379[7]> getbit andy 7

(integer)

0127.0.0.1:6379[7]> bitcount andy 0

3(integer)

3

incr:值遞增

incrby:按照指定值遞增

incrbyfloat:指定浮點數遞增

decr:值遞減

decrby:按照指定值遞減

127.0.0.1:6379[7]> incrby counter 3

(integer)

9127.0.0.1:6379[7]> decrby counter 2

(integer)

7127.0.0.1:6379[7]> incrbyfloat counter 1.6

"8.6

"# 如果值為非int型則會報錯

127.0.0.1:6379[7]> incr key3

(error) err value is not an integer or out of range

get:返回鍵的值

getrange:獲取值指定範圍

getset:設定值並且返回原來的值

127.0.0.1:6379[7]>getset key3 test_key3

"value3

"127.0.0.1:6379[7]>get key3

"test_key3

"127.0.0.1:6379[7]> getrange key3 0 3

"test"

mget:批量獲取值,如果對應鍵不存在會使用 nil 代替,按指定順序返回

mset:批量設定鍵值對,相比 set 節省了網路時間,但如果一次性設定太多可能會導致阻塞

127.0.0.1:6379[7]> mset a 1 b 2 c 3 d 4

ok127.0.0.1:6379[7]>mget a b c d

1) "1"

2) "2"

3) "3"

4) "

4"

set:設定鍵值對

語法:set key value [expiration ex seconds|px milliseconds] [nx|xx]

expiration:設定過期時間,ex 以秒為單位, px 以毫秒為單位

nx:鍵必須不存在才能設定成功

xx:鍵必須存在才能設定成功

setnx:同等於 set 指定 nx 引數

127.0.0.1:6379[7]>get test1

(nil)

127.0.0.1:6379[7]>get redis

"best

"127.0.0.1:6379[7]> setnx redis "

good

"(integer)

0127.0.0.1:6379[7]> setnx test1 "

good

"(integer)

1

setex:設定鍵值對,並且指定過期時間,同等於 set 指定 ex 引數。

127.0.0.1:6379[7]> setex test1 10

"test1"ok

127.0.0.1:6379[7]>get test1

"test1

"127.0.0.1:6379[7]>get test1

(nil)

msetnx:等同於 mset 和 setnx 結合

psetex:等同於 set 設定 px 引數

setrange:修改值指定範圍的內容

127.0.0.1:6379[7]>set redis pest

ok127.0.0.1:6379[7]> setrange redis 0

b(integer)

4127.0.0.1:6379[7]>get redis

"best

"

strlen:返回值的長度,以位元組為單位,注意每個中文字元佔3個位元組

參考網路檔案:理解setbit中的bit;

理解setbit、bitcount等命令推薦部落格:

Redis string型別的操作

設定key的值 set key value 設定多個key mset key1 value1 key2 value2 keyx valuex 獲取key get key 獲取多個key mget key1 key2.keyx 指定key的字串追加value 擷取key的字串 包括開始位置和結束位置 ...

redis String資料型別

1 set 設定乙個key value 2 get 根據key獲得對應的value 127.0.0.1 6379 set name hello ok127.0.0.1 6379 get name hello 127.0.0.1 6379 3 mset 一次設定多個key value 4 mget 一...

Jedis操作Redis String型別

string 字串 public classstringtypetest set key value ex seconds px milliseconds nx xx 將字串值 value 關聯到 key 如果 key 已經持有其他值,set 就覆寫舊值,無視型別。對於某個原本帶有生存時間 ttl ...