redis的資料型別

2021-09-28 19:15:46 字數 2247 閱讀 5953

redis支援5種資料型別(物件)。分別是字串(string)、列表(list)、雜湊(hash)、集合(set)、有序集合(zset/sorted set)。

redis中的鍵和值都是乙個物件。

redis使用引用計數實現記憶體**,當乙個物件不再被使用時,會被**。

每個物件也會記錄最後一次被訪問的時間,可用於計數空轉時間(**演算法為lru時有用)

# 設定指定 key 的值

set key value

# 獲取指定 key 的值

get key

# 返回 key 中字串值的子字元

getrange key start end

# 將給定 key 的值設為 value ,並返回 key 的舊值

getset key value

# 設定指定key的值和過期時間。單位秒

setex key seconds value

# 只有在 key 不存在時設定 key 的值

setnx key value

# 返回key所儲存的字串值的長度

strlen key

# key值+1

incr key

# key值增加increment

incrby key increment

# key值增加increment 浮點型別

incrbyfloat key increment

# key值-1

decr key

# key值減少increment

decrby key decrement

# 指定key追加value

# 將乙個或多個值插入到列表頭部

lpush key value1 [value2]

# 在列表尾部中新增乙個或多個值

rpush key value1 [value2]

# 列表長度

llen key

# 移出並獲取列表的第乙個元素

lpop key

# 移除列表元素

lrem key count value

# 移除列表的最後乙個元素,返回值為移除的元素

rpop key

# 刪除雜湊表中指定欄位的值

hdel key field1 [field2]

# 獲取雜湊表中指定欄位的值

hget key field

# 檢視雜湊表 key 中,指定的字段是否存在

hexists key field

# 獲取雜湊表key的所有欄位和值

hgetall key

# 獲取所有雜湊表中的字段

hkeys key

# 獲取雜湊表中字段的數量

hlen key+

# 向集合key新增乙個或多個成員

sadd key member1 [member2]

# 獲取集合的成員數

scard key

# 返回給定所有集合的差集

sdiff key1 [key2]

# 判斷 member 元素是否是集合 key 的成員

sismember key member

# 向有序集合新增乙個或多個成員,或者更新已存在成員的分數

zadd key score1 member1 [score2 member2]

# 獲取有序集合的成員數

zcard key

# 計算在有序集合中指定區間分數的成員數

zcount key min max

# 有序集合中對指定成員的分數加上增量 increment

zincrby key increment member

# 返回有序集合中指定成員的索引

zrank key member

# 返回有序集中,成員的分數值

zscore key member

對於上面5中物件可能用到的編碼總結如下:

物件型別

編碼字串

int、raw、embstr

列表ziplist、linkedlist

雜湊ziplist、hashtable

集合intset、hashtable

有序集合

ziplist、skiplist

對於各自編碼所對應的資料結構,會在後面有空的時候另行總結。

本文總結自《redis設計與實現》

Redis的資料型別

redis支援五種資料型別是string 字串 hash 雜湊 list 列表 set 集合 和zset sortedset 有序集合 string是redis最基本的型別,乙個key對應乙個value string型別是二進位制安全的,意思是redis的string可以包含任何資料,比如jpg或者...

Redis的資料型別

前面說過,redis的一大特性是支援豐富的資料型別,這為更多的應用場景提供了可能。redis有五種資料型別,包括string,list,set,sorted set和hash,注意,redis的資料型別不支援巢狀。下面學習一下這五種資料型別的特點和簡單應用。string 資料結構是簡單的 key v...

Redis的資料型別

redis是乙個開源的使用ansi c語言編寫 遵守bsd協議 支援網路 可基於記憶體亦可持久化的日誌型 key value資料庫,並提供多種語言的api,它通常被稱為資料結構伺服器,支援五種資料型別 string 字串 hash 雜湊 list 列表 set 集合 和zset sorted set...