這篇文章主要介紹了redis入門知識(shí)點(diǎn)的示例分析,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
創(chuàng)新互聯(lián)建站專注于網(wǎng)站建設(shè)|成都網(wǎng)站維護(hù)|優(yōu)化|托管以及網(wǎng)絡(luò)推廣,積累了大量的網(wǎng)站設(shè)計(jì)與制作經(jīng)驗(yàn),為許多企業(yè)提供了網(wǎng)站定制設(shè)計(jì)服務(wù),案例作品覆蓋三輪攪拌車等行業(yè)。能根據(jù)企業(yè)所處的行業(yè)與銷售的產(chǎn)品,結(jié)合品牌形象的塑造,量身定制品質(zhì)網(wǎng)站。
先介紹一下redis概念:
Redis是一個(gè)開源的key-value存儲(chǔ)系統(tǒng),它屬于NOSQL(Not Only SQL),不僅僅是關(guān)系型數(shù)據(jù)庫;
再看看redis的優(yōu)勢(shì):
豐富的數(shù)據(jù)類型
支持鍵過期特性
每條指令都是原子性操作
讀寫性能極高
初步了解一下redis的附加特性
可以主存與二級(jí)存儲(chǔ),主從復(fù)制;
支持?jǐn)?shù)據(jù)持久化存儲(chǔ)
linux 安裝 redis 鏈接 : https://www.jianshu.com/p/bc84b2b71c1c
windows安裝redis鏈接: https://www.jianshu.com/p/e16d23e358c0
docker 安裝 redis 鏈接 https://juejin.im/post/5ca59dece51d4508b32a1292
最后生產(chǎn)環(huán)境中建議大家安裝 redis 5.0.5 穩(wěn)定版本
字符串型數(shù)據(jù)存儲(chǔ)為 key - val (鍵值對(duì))形式,即每個(gè) 鍵都有對(duì)應(yīng)唯一的值;如下圖所示,age 為 key 則對(duì)應(yīng)唯一的值為18;
命令介紹如下
get : 獲取存儲(chǔ)給定鍵的值
set : 設(shè)置給定存儲(chǔ)鍵的值
del : 刪除給定鍵的值
incr :計(jì)數(shù),每次加1
incrby : 計(jì)算,給定值加減
mset : 設(shè)置多個(gè)鍵值
mget : 獲取多個(gè)給定鍵的值
expire : 設(shè)置過期時(shí)間(適用所有類型)
exists : 是否存在鍵
存儲(chǔ)字符串示例
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
計(jì)數(shù)示例:
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>
多鍵值對(duì)示例
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>
設(shè)置過期時(shí)間
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>
列表其實(shí)就是鏈表,一個(gè)列表有一個(gè)鍵,一個(gè)鍵對(duì)應(yīng)多個(gè)值,值可以重復(fù),取值時(shí)根據(jù)索引取值即可;
rpush : 將值推入列表右端
lrange : 獲取列表給定范圍內(nèi)所有的值
lindex : 獲取列表上給定位置的單個(gè)元素
lpop : 從列表的左端彈出一個(gè)值
值入列表示例
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"
集合與列表類似,不過特殊指出是集合無序,并且每個(gè)值都是唯一,不可重復(fù);
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"
散列點(diǎn)像java中的map,python中的字典;一個(gè)散列里面存儲(chǔ)多個(gè)鍵值對(duì);
hset : 給定散列的鍵值對(duì)
hget : 獲取指定散列鍵的值
hetall : 獲取所有散列的鍵值對(duì)
hdel : 若散列中存在該鍵,則移除鍵
設(shè)置散列鍵值對(duì)示例
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"
獲取散列所有鍵值對(duì)示例
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 ; 根據(jù)分值不同進(jìn)行有序排序;
zadd : 將帶有給定分值的成員添加入有序集合
zrange : 根據(jù)有序集合的索引獲取元素
zrangebyscore : 獲取有序集合內(nèi)給定分值范圍內(nèi)的所有元素
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>
獲取指定索引范圍內(nèi)的成員示例
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"
獲取指定分值范圍內(nèi)的成員示例
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
列表與集合 ,類似鏈表,一個(gè)有序,一個(gè)無序,一個(gè)鍵存儲(chǔ)多個(gè)值;
散列與有序集合,類似字典,map;儲(chǔ)存多個(gè) key-value; 有序集合的key 為member, value 為 score ,按照分值排序;
感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“redis入門知識(shí)點(diǎn)的示例分析”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來學(xué)習(xí)!