摘要:
本系列教程內容提要
Java工程師之Redis實戰系列教程教程 是一個學習教程,是關於Java工程師的Redis知識的實戰系列教程,本系列教程均以解決特定問題為目標,使用Redis快速解決在實際生產中的相關問題,為了更方便的與大家一起探討與學習,每個章節均提供儘可能詳細的示例原始碼及註釋...
本系列教程內容提要
ofollow,noindex" target="_blank">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 |
SUIO/">NION |
計算交集 |
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時間戳 |