Redis資料型別和操作命令

2021-09-02 16:45:29 字數 3810 閱讀 6004

redis最為常用的五種資料型別有:string、hash、list、set、sorted set。

一、string

string是redis最為常用的一種資料型別,string的資料結構為key/value型別,string可以包含任何資料。

常用命令:  set,get,decr,incr,mget 等。

新增

set 為鍵設定新值,並覆蓋原有值

mset 批量設定鍵

getset 設定值、取值同時進行

setex 設定指定key的過期時間,在存活時間可以獲取value

setnx 若該鍵不存在,則為鍵設定新值

刪除del 刪除已有鍵

修改incr 值增加1,若該key不存在,則建立key,初始值設為0,增加後結果為1

decrby 值減少指定數值

查詢get 獲取key對應的value

mget 批量獲取鍵

exists 判斷該鍵是否存在,存在返回 1,否則返回0

strlen 獲取指定key的字元長度

ttl 檢視一下指定key的剩餘存活時間(秒數)

二、hash

hash型別可以看成是乙個key/value都是string的map容器。

常用命令: hget,hset,hgetall 等。

新增

hset 若不存在,建立該鍵及與其關聯的hashes,若存在,則無效

hmset 一次性設定多個字段

刪除hdel 刪除指定鍵中指定的字段

del 刪除鍵

修改

hincrby 給指定欄位的值加1

查詢hget 獲取指定鍵值中指定欄位的值

hlen 獲取指定鍵的字段數量

hexists 判斷指定的鍵中是否存在某欄位

hmget 批量獲取字段

hgetall 返回指定鍵的所有字段及其值

hkeys 獲取指定鍵中所有欄位的名字

hvals 獲取指定鍵中所有欄位的值

三、list

list用於儲存乙個有序的字串列表,常用的操作是向佇列兩端新增元素或者獲得列表的某一片段。

常用命令:lpush,rpush,lpop,rpop,lrange等。

新增 

lpush 向列表左端新增元素。例:lpush key value

linsert 向列表中插入元素。例:linsert key before|after privot value,從左邊開始尋找值為privot的第乙個元素,然後根據第二個引數是before還是after決定在該元素的前面還是後面插入value

rpush 向列表右端新增元素。例:rpush key value

rpoplpush 將乙個列表的尾部元素彈出,再插入到另乙個列表的頭部(原子性的操作)。例:rpoplpush source destination

刪除del 刪除已有鍵。例:del key

lrem 刪除列表中指定值。例:lrem key count value 刪除列表中前count個值為value的元素,當count>0時從左邊開始數,count<0時從右邊開始數,count=0時會刪除所有值為value的元素

ltrim 保留列表指定範圍,其餘全部刪除。例:ltrim key begin end 包含begint end

修改lset 設定指定索引的值。例:lset key index value

查詢lrange 獲取列表中指定區域的元素。例:lrange key begin end 索引從0開始,-1表示最後乙個元素。

lpop 從列表左端彈出元素。例:lpop key

rpop 從列表右端彈出元素。例:rpop key

lindex 獲取指定索引的元素值。例:lindex key index

llen 獲取列表中元素個數。例:llen key

四、set

set可以理解為一組無序的字元集合,set中相同的元素是不會重複出現的,相同的元素只保留乙個。

常用命令:sadd,spop,smembers,sunion等。

新增

sadd 新增元素。例:sadd key value1 [value2 value3 ...]

刪除spop 從集合中隨機彈出乙個元素。例:spop key

srem 刪除元素,例:srem key value1 [value2 value3 ...]

修改smove 將元素移到另乙個集合。例:smove key1 key2 value

查詢sismember 判斷元素是否在集合中,返回值為 1 表示存在。例:sismember key value

smembers 獲得集合中所有元素。例:smembers key

scard 獲取集合中元素的數量。例: scard key

sdiff 對集合做差集運算。例:sdiff key1 key2 [key3 ...],先計算key1和key2的差集,然後再用結果與key3做差集

sinter 對集合做交集運算。例:sinter key1 key2 [key3 ...]

sunion 對集合做並集運算。例:sunion key1 key2 [key3 ...]

sdiffstore 對集合做差集運算並將結果儲存。例:sdiffstore destination key1 key2 [key3 ...]

sinterstore 對集合做交集運算並將結果儲存。例:sinterstore destination key1 key2 [key3 ...]

sunionstore 對集合做並集運算並將結果儲存。例:sunionstore destination key1 key2 [key3 ...]

srandmember 隨機獲取集合中的元素。

五、sorted set(有序集合)

有序集合是在集合的基礎上為每乙個元素關聯乙個分數,redis通過分數為集合中的成員進行排序。

常用命令:zadd,zrange,zrem,zcard等。

新增

zadd 新增元素.例:zadd key score1 value1 [score2 value2 score3 value3 ...]

刪除zrem 刪除乙個或多個成員變數,返回刪除的數量。例:zrem key value1 [value2 ...]

修改zincrby 增加某個成員的分數,並返回該成員更新後的分數。例:zincrby key increment value

查詢zrange 獲取排名在指定範圍的成員,withscores選項表示不否返回成員分數。例:zrange key start stop [withscore]

zrank 獲取正序排序的成員在集合中的位置索引值,0表示第乙個位置。例:zrank key value

zcard 獲取集合中元素的數量。例:zcard key

zcount 獲取指定分數範圍內的元素個數。例:zcount key min max

zscore 獲取元素的分數。例:zscore key value

zrangebyscore 獲取指定分數範圍內的元素。例: zrangebyscore key min max

Redis命令 資料型別操作

redis實戰 學習筆記 命令 含義incr key name 鍵值自增1 decr key name 鍵值自減1 incrby key name amount 鍵值加上整數amount decrby key name amount 鍵值減去整數amount incrbyfloat key name...

redis資料型別和操作指令

redis儲存資料是key value的形式,其中value一共支援五種資料型別 string hash list set zset 1 string 最常見的資料型別,就是字串 2 hash 是字串欄位和字串值之間的對映 類似於php中的陣列型別 因此,它們是表示物件的完美資料型別。在redis中...

redis 資料型別 命令

del key 用於在key存在時刪除key dump key 序列化給定key,並返回被序列化的值 exists key 檢查給定key是否存在 expire key seconds 為給定key設定過期時間 expireat key timestamp 與expire類似,不同的是該指令接受的時...