redis資料型別簡介 Strings

2021-10-04 23:53:50 字數 3724 閱讀 4654

redis中的資料型別

redis並不是簡單的key-value儲存,實際上他是乙個資料結構伺服器,支援不同型別的值。也就是說,你不必僅僅把字串當作鍵所指向的值。下列這些資料型別都可作為值型別:

關於key的幾條規則

1、set

對key賦值,賦值後會清除key的過期時間

set key value [ex seconds|px milliseconds] [nx|xx] [keepttl]
options

2、setnx

set ifnot exists ;如果key不存在才執行set操作

返回值:1 賦值成功 0 賦值失敗(說明key已經存在了)

setnx key value
redis> setnx mykey 「hello」

(integer) 1

redis> setnx mykey 「world」

(integer) 0

redis> get mykey

「hello」

redis>

3、setex

賦值並設定過期時間

setex key seconds value
redis> setex mykey 10 「hello」

「ok」

redis> ttl mykey

(integer) 10

redis> get mykey

「hello」

redis>

4、del

刪除key

返回值 被刪除的keys的數量。可以刪除多個key

del key [key ...]
redis> set key1 「hello」

okredis> set key2 「world」

okredis> del key1 key2 key3

(integer) 2

5、exists

判斷key是否存在

返回值 1存在 0不存在

exists key [key ...]
redis> set key1 「hello」

okredis> exists key1

(integer) 1

redis> exists key2

(integer) 0

6、incr

原子加1操作

命令將字串值解析成整型,將其加1,最後將結果儲存為新的字串值

如果key不存在則在執行incr操作前,會設定初始值為0.

如果key的值不是字串或值不能轉換為乙個整數,則會返回錯誤(eq:(error) err value is not an integer or out of range)。

返回值 執行遞增操作後key對應的值。

incr mykey
redis> set mykey 「10」

okredis> incr mykey

(integer) 11

redis> get mykey

「11」

redis>

7、incrby

和incr類似,只不過incrby可以指定增加的數量

返回值 執行遞增操作後key對應的值。

incrby key increment
redis> set mykey 「10」

okredis> incrby mykey 5

(integer) 15

redis>

8、decr

原子減1操作

返回值減1後的值

decr key
redis> set mykey 「10」

okredis> decr mykey

(integer) 9

9、decrby

原子減少指定數量

返回值 執行遞減操作後key對應的值。

decrby key decrement
redis> set mykey 「10」

okredis> decrby mykey 5

(integer) 5

10、getset

對key進行賦值,同時返回舊值,如果之前key不存在將返回nil。

getset key value
redis> incr mycounter

(integer) 1

redis> getset mycounter 「0」

「1」redis> get mycounter

「0」11、mset

批量賦值操作,返回值總是ok,因為mset不會失敗。

mset key value [key value ...]
redis> mset key1 「hello」 key2 「world」

okredis> get key1

「hello」

redis> get key2

「world」

redis>

12、mget

批量取值,返回結果為list

mget key [key ...]
redis> set key1 「hello」

okredis> set key2 「world」

okredis> mget key1 key2 nonexisting

「hello」

「world」

(nil)

redis>

13、type

返回key所儲存的value的資料結構型別,它可以返回string, list, set, zset 和 hash等不同的型別。如果key不存在時返回none。

type key
redis> set key1 「value」

okredis> lpush key2 「value」

(integer) 1

redis> sadd key3 「value」

(integer) 1

redis> type key1

string

redis> type key2

list

redis> type key3

setredis>

14、expire

設定key的超時時間

expire key seconds
set key some-value

okexpire key 5

(integer) 1

get key (immediately)

「some-value」

get key (after some time)

(nil)

檢視key對應的值剩餘存活時間。

ttl key
redis> set key 100 ex 10

okredis> ttl key

(integer) 9

redis幾大資料型別簡介

是二進位制安全,即可以包含任何資料型別 浮點,二進位制數等 乙個鍵最大能儲存512mb 屬於key value的集合,是string型別的無序集合,資料不重複,返回結果0,1 有序集合,string型別元素,資料唯一,每個元素關聯乙個double型別的分數,分數是可以重複 備註 key只能為stri...

redis資料型別

redis對比與memcached 最大的優勢就是支援更多靈活的資料結構,豐富的資料操作 redis現支援的資料型別有 字串,列表,集合,雜湊,有序集合 1.字串 普通資料型別 2.列表 簡單的字串列表,按照插入順序排序。你可以新增乙個元素到列表的頭部 左邊 或者尾部 右邊 適用於 對資料頭尾操作頻...

Redis 資料型別

redis支援五種資料型別 string 字串 hash 雜湊 list 列表 set 集合 及zset sorted set 有序集合 string是redis最基本的型別,你可以理解成與memcached一模一樣的型別,乙個key對應乙個value。string型別是二進位制安全的。意思是red...