本系列教程內容提要
Java工程師之Redis實戰系列教程教程是一個學習教程,是關於Java工程師的Redis知識的實戰系列教程,本系列教程均以解決特定問題爲目標,使用Redis快速解決在實際生產中的相關問題,爲了更方便的與你們一塊兒探討與學習,每一個章節均提供儘量詳細的示例源碼及註釋,全部示例源碼都可在javacourse-redis-in-action找到相關幫助!html
本章目標:
- 什麼是Redis
- Redis數據結構
- Redis經常使用命令
什麼是Redis
Redis是一個功能強大的非關係型內存數據庫(或者說內存數據結構)服務器,開源軟件;java
Redis數據結構
Redis有五種存儲鍵與不一樣數據結結構類型之間的映射,分別是STRING(字符串),LIST(列表),SET(集合),HASH(散列),ZSET(有序集合),熟練運用這五種數據結構纔是掌握Redis的核心所在,不可輕視。git
STRING |
字符串,整數,浮點數 |
對字符串或部分進行操做;對整數和浮點數執行自增或者自減操做 |
LIST |
鏈表(每一個節點都包含一個字符串) |
鏈表的推入,彈出;鏈表的修建;取值;查值;移除; |
SET |
包含字符串的無序收集器,不可重複 |
添加;獲取;移除;檢查存在;計算交集,並集,差集;隨機取值; |
ZSET |
字符串成員與浮點數分值之間的有序映射,元素的排序由分值決定 |
添加;獲取;移除; |
HASH |
包含鍵值對的無序散列表 |
添加;獲取;移除; |
Redis經常使用命令
針對Redis的五種數據結構有以下經常使用命令。固然,Redis官網提供了更爲全面的命令 https://redis.io/commands# http://redisdoc.com/github
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 |
獲取散列包含的全部鍵值對 |
其餘命令
SORT |
根據給定的選項,對輸入的列表,集合或者有序集合進行排序,而後返回或則存儲排序結果 |
EXEPIRE |
給定鍵指定多少秒後過時 |
TTL |
查看鍵還有多少秒過時 |
PERSIST |
移除鍵的過時時間 |
EXPIREAT |
將過時時間設置爲給定的UNIX時間戳 |
PTTL |
查看鍵還有多少毫秒過時 |
PEXPIRE |
讓給定鍵指定多少毫秒後過時 |
PEXPIREAT |
將過時時間(毫秒精度)設置爲給定的UNIX時間戳 |