Redis的常見型別的命令操作
阿新 • • 發佈:2020-12-31
技術標籤:Flink
Redis的常見型別有如下幾種,string丶hash丶list丶set丶zset,他們簡單且常用的命令操作在這裡做一個總結:
1. string
# SET key value
# 設定指定 key 的值
set hello world
# GET key
# 獲取指定 key 的值。
GET hello
# SETEX key seconds value
# 將值 value 關聯到 key ,並將 key 的過期時間設為 seconds (以秒為單位)。
SETEX hello2 5 world2
# MSET key value [key value ...]
# 同時設定一個或多個 key-value 對。
mset hello world hello2 world2 hello3 world3
# MGET key1 [key2..]
# 獲取所有(一個或多個)給定 key 的值。
MGET hello hello2 hello3
# INCR key
# 將 key 中儲存的數字值增一。
set addnum 1 --設定加1
INCR addnum --檢視 每次檢視都加1
# DECR key
# 將 key 中儲存的數字值減一。
DECR addnum --檢視 每次檢視都減1
2.hash
介紹: Redis hash 是一個string型別的field和value的對映表
Redis 中每個 hash 可以儲存 2的32次方 - 1 鍵值對(40多億)
大map又套用了小map
相關命令:
# ===========Hash型別命令=============
# HSET key field value
# 將雜湊表 key 中的欄位 field 的值設為 value 。
HSET KA ka helloworld
HSET KA kc helloworldc --如果ka 和 kc 相同會覆蓋前面的內容
# HGET key field
# 獲取儲存在雜湊表中指定欄位的值。
HGET KA ka
# HEXISTS key field
# 檢視雜湊表 key 中,指定的欄位是否存在。
# 返回1代表存在,返回0代表不存在
HEXISTS KA ka
HEXISTS KA kb
# HGETALL key
# 獲取在雜湊表中指定 key 的所有欄位和值
HGETALL KA
# HKEYS key
# 獲取所有雜湊表中的欄位
HKEYS KA
# HDEL key field1 [field2]
# 刪除一個或多個雜湊表字段
HDEL KA kc
3. 大key的操作
# DEL key
# 該命令用於在 key 存在時刪除 key。
DEL visit
# EXISTS key
# 檢查給定 key 是否存在。
EXISTS visit
# EXPIRE key seconds
# 為給定 key 設定過期時間,以秒計。
EXPIRE hello 5
# PERSIST key
# 移除 key 的過期時間,key 將持久保持。
PERSIST hello
# KEYS pattern
# 查詢所有符合給定模式( pattern)的 key 。
keys *
4. List型別
1、有序;
2、可重複;
3、可以當做佇列使用:Rpush右推——》LPOP左取,先入先出。
# 順序:預設左進左出
# LPUSH key value1 [value2]
# 將一個或多個值插入到列表頭部
LPUSH sanguo liubei guanyu zhangfei
# LPOP key
# 移出並獲取列表的第一個元素
LPOP sanguo
# LRANGE key start stop
# 檢視list當中所有的資料
LRANGE sanguo 0 -1
# LINDEX key index
# 通過索引獲取列表中的元素
LINDEX sanguo 1
# LSET key index value
# 通過索引設定列表元素的值
LSET sanguo 3 lvbu #如果索引處存再值會覆蓋
5. Set型別
1、去重
2、無序
uv:訪問客戶量,需要按照客戶去重
pv:客戶訪問量,不需要去重
# SADD key member1 [member2]
# 向集合新增一個或多個成員
SADD visit user1
SADD visit user2
SADD visit user1
SADD visit user3
SADD visit user2
SADD visit user5
sadd visit user1 user2 user3 user4 user5 user1 user2 user6
# SMEMBERS key
# 返回集合中的所有成員
SMEMBERS visit
# SCARD key
# 獲取集合的成員數量
SCARD visit
# SDIFF key1 [key2] 哪一個key在後面就返回它裡面沒有的
# 返回給定所有集合的差集
SADD home user4
SADD home user5
SADD home user6
SDIFF visit home #返回home中沒有的
SDIFF home visit #返回visit中沒有的
# SREM key member1 [member2]
# 移除集合中一個或多個成員
SREM visit user2
6. Zset的命令
1、去重;2、有序。
和set的區別:key和value中間多了一個score, key score value;
是按照score排序,按照value去重。
寫:ZADD
讀:ZRANGE、ZREVRANGE
# ZADD key score1 member1 [score2 member2]
# 向有序集合新增一個或多個成員,或者更新已存在成員的分數
ZADD pv_edu 100 page1.html 110 page2.html 120 page3.html
key score value1 score value2
# ZCARD key
# 獲取有序集合的成員個數
ZCARD pv_edu
# ZCOUNT key min max
# 計算在有序集合中指定區間分數的成員數
ZCOUNT pv_edu 110 120
# ZINTERSTORE destination numkeys key [key ...]
# 計算給定的一個或多個有序集的交集並將結果集儲存在新的有序集合 key 中
ZADD pv_edu2 110 page2.html 135 page3.html 90 page4.html 100 page5.html
ZINTERSTORE pv_edu_inter 2 pv_edu pv_edu2
ZCARD pv_edu_inter
# ZRANGE key start stop [WITHSCORES]
# 通過索引區間返回有序集合指定區間內的成員
ZRANGE pv_edu_inter 0 -1 WITHSCORES
# ZINCRBY key increment member
# 有序集合中對指定成員的分數加上增量 increment
ZINCRBY pv_edu_inter 1 page3.html
# ZRANK key member
# 返回有序集合中指定成員的索引(有小到大 asc)
ZRANK pv_edu2 page4.html
# ZREVRANK key member
# 返回有序集合中指定成員的排名,有序整合員按分數值遞減(從大到小 desc)排序
ZREVRANK pv_edu2 page4.html