Redis快速起步及Redis常用命令大全
阿新 • • 發佈:2018-11-25
本系列教程內容提要
Java工程師之Redis實戰系列教程教程是一個學習教程,是關於Java工程師的Redis知識的實戰系列教程,本系列教程均以解決特定問題為目標,使用Redis快速解決在實際生產中的相關問題,為了更方便的與大家一起探討與學習,每個章節均提供儘可能詳細的示例原始碼及註釋,所有示例原始碼均可在javacourse-redis-in-action找到相關幫助!
本章目標:
- 什麼是Redis
- Redis資料結構
- Redis常用命令
什麼是Redis
Redis是一個功能強大的非關係型記憶體資料庫(或者說記憶體資料結構)伺服器,開源軟體;
Redis資料結構
Redis有五種儲存鍵與不同資料結結構型別之間的對映,分別是STRING(字串),LIST(列表),SET(集合),HASH(雜湊),ZSET(有序集合),熟練運用這五種資料結構才是掌握Redis的核心所在,不可輕視。
資料結構 | 儲存值 | 讀寫能力 |
---|---|---|
STRING | 字串,整數,浮點數 | 對字串或部分進行操作;對整數和浮點數執行自增或者自減操作 |
LIST | 連結串列(每個節點都包含一個字串) | 連結串列的推入,彈出;連結串列的修建;取值;查值;移除; |
SET | 包含字串的無序收集器,不可重複 | 新增;獲取;移除;檢查存在;計算交集,並集,差集;隨機取值; |
ZSET | 字串成員與浮點數分值之間的有序對映,元素的排序由分值決定 | 新增;獲取;移除; |
HASH | 包含鍵值對的無序散列表 | 新增;獲取;移除; |
Redis常用命令
針對Redis的五種資料結構有如下常用命令。當然,Redis官網提供了更為全面的命令 https://redis.io/commands# http://redisdoc.com/
STRING
基本命令 | 說明 |
---|---|
SET | 設定儲存在給定鍵中的值 |
GET | 獲取儲存在給定鍵中的值 |
DEL | 刪除儲存在給定鍵中的值 |
數值命令 | 說明 |
---|---|
INCR | 將鍵儲存的值加上1 |
DECR | 將鍵儲存的值減去1 |
INCRBY | 將鍵儲存的值加上Count |
DECRBY | 將鍵儲存的值減去Count |
INCRBYFLOAT | 將鍵儲存的值加上浮點數Float |
操作命令 | 說明 |
---|---|
APPEND | 將VALUE值追加到給定鍵的值的末尾 |
GETRANGE | 獲取偏移量start到end範圍內的所有字元組成的子串 |
SETRANGE | 將偏移量strat到end的字串設定為給定值 |
GETBIT | 獲取偏移量為offset的二進位值 |
SETBIT | 設定偏移量為offset的二進位值 |
BITCOUNT | 統計二進位制位串值為1的數量 |
BITOP | 對一個或者多個二進位制位串執行AND,OR,XOR,NOT任意一種運算操作,存在dest-key中 |
LIST
基本操作 | 說明 |
---|---|
PRUSH | 將給定值推入到列表的右端 |
LPUSH | 將給定值推入到列表的左端 |
LPOP | 將列表的左端推出一個值 |
RPOP | 將列表的右端推出一個值 |
LINDEX | 獲取列表給定位置元素 |
LRANGE | 返回列表從start到end偏移量在內的所有元素 |
LTRIM | 保留偏移量start到end內的元素 |
高階操作 | 說明 |
---|---|
BLPOP | 從第一個非空列表中彈出最左側元素,或者在timeout之內阻塞等待元素出現 |
BRPOP | 從第一個非空列表中彈出最右側元素,或者在timeout之內阻塞等待元素出現 |
RPOPLPUSH | 從第一個列表中彈出右端元素,推入第二列表的左端,返回此元素 |
BRPOPLPUSH | 從第一個列表中彈出右端元素,推入第二列表的左端,返回此元素,如果沒有值,阻塞等待出現 |
SET
命令 | 說明 |
---|---|
SADD | 將給定元素新增到集合 |
SREM | 如果給定元素存在集合,則刪除 |
SISMEMBER | 檢查元素是否存在集合中 |
SCARD | 返回集合包含的元素的數量 |
SMEMBERS | 返回集合包含的所有元素 |
SRANDMEMBER | 從集合中隨機返回一個或者多個元素 |
SPOP | 隨機從集合中移除一個元素,並返回這個元素 |
SMOVE | 如果這個集合包含key,那麼移除,將移除元素新增到dest-key中 |
按位運算子命令 | 說明 |
---|---|
SDIF | 計算差集 |
SDIFFSTORE | 計算差集,並存儲到dest-key |
SINTER | 計算交集 |
SINTERSTORE | 計算交集,並存儲到dest-key |
SUNION | 計算交集 |
SUNIONSTORE | 計算交集,並存儲到dest |
ZSET
命令 | 說明 |
---|---|
ZADD | 將一個帶有給定分值的成員新增到有序集合中 |
ZREM | 如果給定成員存在有序集合中,則移除 |
ZCARD | 返回有序集合的數量 |
ZINCRBY | 將member成員的分值加上count |
ZRANK | 返回成員member的在有序集合的排名 |
ZCOUNT | 返回分值在min和max之間的成員數量 |
ZRANGEBYSCORE | 獲取有序集合在給定分值範圍內的所有元素 |
ZRANGE | 根據元素在有序集合中的位置,從有序集合中取出多個元素,如果給定[WITHSCORES]則返回分值 |
高階命令 | 說明 |
---|---|
ZINTERSTORE | 對給定的有序集合執行類似集合的交集運算 |
ZUNIONSTORE | 對給定的有序集合執行類似集合的並集運算 |
HASH
命令 | 說明 |
---|---|
HSET | 在雜湊中關聯給定的鍵值對 |
HGET | 獲取指定雜湊鍵的值 |
HDEL | 如果給定鍵在雜湊裡面,移除 |
HGETALL | 獲取雜湊包含的所有鍵值對 |
高階命令 | 說明 |
---|---|
HEXISTS | 檢查給定鍵是否存在雜湊中 |
HKEYS | 獲取雜湊包含的鍵 |
HVALS | 獲取雜湊包含的值 |
HINCRBY | 將鍵Key儲存的值加上count |
HINCRBYFLOAT | 將鍵Key儲存的值加上浮點數count |
HGETALL | 獲取雜湊包含的所有鍵值對 |
其他命令
事務命令 | 說明 |
---|---|
MULTI | 開啟事務 |
EXEC | 提交事務 |
排序命令 | 說明 |
---|---|
SORT | 根據給定的選項,對輸入的列表,集合或者有序集合進行排序,然後返回或則儲存排序結果 |
鍵的過期 | 說明 |
---|---|
EXEPIRE | 給定鍵指定多少秒後過期 |
TTL | 檢視鍵還有多少秒過期 |
PERSIST | 移除鍵的過期時間 |
EXPIREAT | 將過期時間設定為給定的UNIX時間戳 |
PTTL | 檢視鍵還有多少毫秒過期 |
PEXPIRE | 讓給定鍵指定多少毫秒後過期 |
PEXPIREAT | 將過期時間(毫秒精度)設定為給定的UNIX時間戳 |