您好,登錄后才能下訂單哦!
這篇文章主要介紹了redis入門知識點的示例分析,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
先介紹一下redis概念:
Redis是一個開源的key-value存儲系統,它屬于NoSQL(Not Only SQL),不僅僅是關系型數據庫;
再看看redis的優勢:
豐富的數據類型
支持鍵過期特性
每條指令都是原子性操作
讀寫性能極高
初步了解一下redis的附加特性
可以主存與二級存儲,主從復制;
支持數據持久化存儲
linux 安裝 redis 鏈接 : https://www.jianshu.com/p/bc84b2b71c1c
windows安裝redis鏈接: https://www.jianshu.com/p/e16d23e358c0
docker 安裝 redis 鏈接 https://juejin.im/post/5ca59dece51d4508b32a1292
最后生產環境中建議大家安裝 redis 5.0.5 穩定版本
字符串型數據存儲為 key - val (鍵值對)形式,即每個 鍵都有對應唯一的值;如下圖所示,age 為 key 則對應唯一的值為18;
命令介紹如下
get : 獲取存儲給定鍵的值
set : 設置給定存儲鍵的值
del : 刪除給定鍵的值
incr :計數,每次加1
incrby : 計算,給定值加減
mset : 設置多個鍵值
mget : 獲取多個給定鍵的值
expire : 設置過期時間(適用所有類型)
exists : 是否存在鍵
存儲字符串示例
set key value
127.0.0.1:6379> set zszxz 666 OK
獲取字符串示例
get key
127.0.0.1:6379> get zszxz "666"
刪除字符串示例
del key [key ...]
127.0.0.1:6379> del zszxz (integer) 1
計數示例:
incr key
127.0.0.1:6379> set age 100 OK 127.0.0.1:6379> incr age (integer) 101 127.0.0.1:6379> incr age (integer) 102 127.0.0.1:6379> get age "102" 127.0.0.1:6379>
incrby key increment
127.0.0.1:6379> set age 100 OK 127.0.0.1:6379> incrby age 5 (integer) 105 127.0.0.1:6379> incrby age -2 (integer) 103 127.0.0.1:6379> get age "103" 127.0.0.1:6379>
多鍵值對示例
mset key value [key value ...]
mget key [key ...]
127.0.0.1:6379> mset u1 you1 u2 you2 OK 127.0.0.1:6379> mget u1 u2 1) "you1" 2) "you2" 127.0.0.1:6379>
設置過期時間
expire key seconds
127.0.0.1:6379> expire u1 1 (integer) 1 127.0.0.1:6379> get u1 (nil) 127.0.0.1:6379>
存在示例
exists key [key ...]
127.0.0.1:6379> set age 100 OK 127.0.0.1:6379> exists age (integer) 1 127.0.0.1:6379>
列表其實就是鏈表,一個列表有一個鍵,一個鍵對應多個值,值可以重復,取值時根據索引取值即可;
rpush : 將值推入列表右端
lrange : 獲取列表給定范圍內所有的值
lindex : 獲取列表上給定位置的單個元素
lpop : 從列表的左端彈出一個值
值入列表示例
rpush key value [value ...]
127.0.0.1:6379> rpush list-zszxz a (integer) 1 127.0.0.1:6379> rpush list-zszxz b (integer) 2 127.0.0.1:6379> rpush list-zszxz c (integer) 3
范圍取值示例
lrange key start stop
127.0.0.1:6379> lrange list-zszxz 0 -1 1) "a" 2) "b" 3) "c"
給定索引取值示例
lindex key index
127.0.0.1:6379> lindex list-zszxz 1 "b"
左彈出示例
lpop key
127.0.0.1:6379> lpop list-zszxz "a" 127.0.0.1:6379> lrange list-zszxz 0 -1 1) "b" 2) "c"
集合與列表類似,不過特殊指出是集合無序,并且每個值都是唯一,不可重復;
sadd : 將給定的值加入集合
smembers : 返回集合所有的元素
sismember : 檢查給定的元素是否存在集合中
srem : 若集合中存在該元素,則移除該元素
添加示例
sadd key member [member ...]
127.0.0.1:6379> sadd set-zszxz a (integer) 1 127.0.0.1:6379> sadd set-zszxz b (integer) 1 127.0.0.1:6379> sadd set-zszxz c (integer) 1
返回所有元素示例
smembers key
127.0.0.1:6379> smembers set-zszxz 1) "c" 2) "b" 3) "a"
存在示例
sismember key member
127.0.0.1:6379> sismember set-zszxz c (integer) 1
刪除示例
srem key member [member ...]
127.0.0.1:6379> srem set-zszxz a (integer) 1 127.0.0.1:6379> smembers set-zszxz 1) "c" 2) "b"
散列點像java中的map,python中的字典;一個散列里面存儲多個鍵值對;
hset : 給定散列的鍵值對
hget : 獲取指定散列鍵的值
hetall : 獲取所有散列的鍵值對
hdel : 若散列中存在該鍵,則移除鍵
設置散列鍵值對示例
hset key field value
127.0.0.1:6379> hset hash-key key1 a (integer) 1 127.0.0.1:6379> hset hash-key key2 b (integer) 1 127.0.0.1:6379> hset hash-key key3 c (integer) 1 127.0.0.1:6379>
獲取散列給定鍵示例
hget key field
127.0.0.1:6379> hget hash-key key1 "c"
獲取散列所有鍵值對示例
hgetall key
127.0.0.1:6379> hgetall hash-key 1) "key1" 2) "c" 3) "key2" 4) "b" 5) "key3" 6) "c"
刪除散列鍵示例
hdel key field [field ...]
127.0.0.1:6379> hdel hash-key key1 (integer) 1 127.0.0.1:6379> hgetall hash-key 1) "key2" 2) "b" 3) "key3" 4) "c" 127.0.0.1:6379>
redis 有序集合與散列類似,不同之處鍵稱為member, value稱為 score ; 根據分值不同進行有序排序;
zadd : 將帶有給定分值的成員添加入有序集合
zrange : 根據有序集合的索引獲取元素
zrangebyscore : 獲取有序集合內給定分值范圍內的所有元素
zrem : 如果成員存在有序集合中,則移除
添加成員示例
zadd key score member [score member ...]
127.0.0.1:6379> zadd zset-key 600 member1 (integer) 1 127.0.0.1:6379> zadd zset-key 650 member2 (integer) 1 127.0.0.1:6379> zadd zset-key 680 member3 (integer) 1 127.0.0.1:6379>
獲取指定索引范圍內的成員示例
zrange key start stop [WITHSCORES]
不帶score
127.0.0.1:6379> zrange zset-key 0 -1 1) "member1" 2) "member2" 3) "member3"
帶上score
127.0.0.1:6379> zrange zset-key 0 -1 withscores 1) "member1" 2) "600" 3) "member2" 4) "650" 5) "member3" 6) "680"
獲取指定分值范圍內的成員示例
zrangebyscore key min max [WITHSCORES] [LIMIT offset count]
127.0.0.1:6379> zrangebyscore zset-key 600 650 withscores 1) "member1" 2) "600" 3) "member2" 4) "650"
移除成員示例
zrem key member [member ...]
127.0.0.1:6379> zrem zset-key member1 (integer) 1 127.0.0.1:6379> zrange zset-key 0 -1 withscores 1) "member2" 2) "650" 3) "member3" 4) "680" 127.0.0.1:6379>
簡記方式:
字符串, key - value
列表與集合 ,類似鏈表,一個有序,一個無序,一個鍵存儲多個值;
散列與有序集合,類似字典,map;儲存多個 key-value; 有序集合的key 為member, value 為 score ,按照分值排序;
感謝你能夠認真閱讀完這篇文章,希望小編分享的“redis入門知識點的示例分析”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。