redis學習之資料操作(二)
阿新 • • 發佈:2019-01-29
資料操作
- redis是key-value的資料,所以每個資料都是一個鍵值對
- 鍵的型別是字串
-
值的型別分為五種:
- 字串string
- 雜湊hash
- 列表list
- 集合set
- 有序集合zset
-
資料操作的全部命令,可以檢視中文網站
- 接下來逐個介紹操作各型別的命令
string
- string是redis最基本的型別
- 最大能儲存512MB資料
- string型別是二進位制安全的,即可以為任何資料,比如數字、圖片、序列化物件等
命令
設定
- 設定鍵值
set key value
- 設定鍵值及過期時間,以秒為單位
SETEX key seconds value
- 設定多個鍵值
MSET key value [key value ...]
獲取
- 根據鍵獲取值,如果不存在此鍵則返回nil
GET key
- 根據多個鍵獲取多個值
MGET key [key ...]
運算
- 要求:值是數字
- 將key對應的value加1
INCR key
- 將key對應的value加整數
INCRBY key increment
- 將key對應的value減1
DECR key
- 將key對應的value減整數
DECRBY key decrement
其它
- 追加值
APPEND key value
- 獲取值長度
STRLEN key
鍵的命令
- 查詢鍵,引數支援正則
KEYS pattern
- 判斷鍵是否存在,如果存在返回1,不存在返回0
EXISTS key [key ...]
- 檢視鍵對應的value的型別
TYPE key
- 刪除鍵及對應的值
DEL key [key ...]
- 設定過期時間,以秒為單位
- 建立時沒有設定過期時間則一直存在,直到使用使用DEL移除
EXPIRE key seconds
- 檢視有效時間,以秒為單位
TTL key
hash
- hash用於儲存物件,物件的格式為鍵值對
命令
設定
- 設定單個屬性
HSET key field value
- 設定多個屬性
HMSET key field value [field value ...]
獲取
- 獲取一個屬性的值
HGET key field
- 獲取多個屬性的值
HMGET key field [field ...]
- 獲取所有屬性和值
HGETALL key
- 獲取所有的屬性
HKEYS key
- 返回包含屬性的個數
HLEN key
- 獲取所有值
HVALS key
其它
- 判斷屬性是否存在
HEXISTS key field
- 刪除屬性及值
HDEL key field [field ...]
- 返回值的字串長度
HSTRLEN key field
list
- 列表的元素型別為string
- 按照插入順序排序
- 在列表的頭部或者尾部新增元素
命令
設定
- 在頭部插入資料
LPUSH key value [value ...]
- 在尾部插入資料
RPUSH key value [value ...]
- 在一個元素的前|後插入新元素
LINSERT key BEFORE|AFTER pivot value
- 設定指定索引的元素值
- 索引是基於0的下標
- 索引可以是負數,表示偏移量是從list尾部開始計數,如-1表示列表的最後一個元素
LSET key index value
獲取
- 移除並且返回 key 對應的 list 的第一個元素
LPOP key
- 移除並返回存於 key 的 list 的最後一個元素
RPOP key
- 返回儲存在 key 的列表裡指定範圍內的元素
- start 和 end 偏移量都是基於0的下標
- 偏移量也可以是負數,表示偏移量是從list尾部開始計數,如-1表示列表的最後一個元素
LRANGE key start stop
其它
- 裁剪列表,改為原集合的一個子集
- start 和 end 偏移量都是基於0的下標
- 偏移量也可以是負數,表示偏移量是從list尾部開始計數,如-1表示列表的最後一個元素
LTRIM key start stop
- 返回儲存在 key 裡的list的長度
LLEN key
- 返回列表裡索引對應的元素
LINDEX key index
set
- 無序集合
- 元素為string型別
- 元素具有唯一性,不重複
命令
設定
- 新增元素
SADD key member [member ...]
獲取
- 返回key集合所有的元素
SMEMBERS key
- 返回集合元素個數
SCARD key
其它
- 求多個集合的交集
SINTER key [key ...]
- 求某集合與其它集合的差集
SDIFF key [key ...]
- 求多個集合的合集
SUNION key [key ...]
- 判斷元素是否在集合中
SISMEMBER key member
zset
- sorted set,有序集合
- 元素為string型別
- 元素具有唯一性,不重複
- 每個元素都會關聯一個double型別的score,表示權重,通過權重將元素從小到大排序
- 元素的score可以相同
命令
設定
- 新增
ZADD key score member [score member ...]
獲取
- 返回指定範圍內的元素
ZRANGE key start stop
- 返回元素個數
ZCARD key
- 返回有序集key中,score值在min和max之間的成員
ZCOUNT key min max
- 返回有序集key中,成員member的score值
ZSCORE key member