redis是乙個速度極快的nosql資料庫,資料存在記憶體中沒有磁碟的io它是io多路復用的,由c語言編寫,只存k:v形式的資料,有五種資料型別
安裝redis:
開啟redis-server.exe啟動redis服務在6379埠
開啟客戶端redis-cli.exe
string:
設定乙個string鍵值對,key為"k1"
127.0.0.1:6379>
set k1 hzy
ok
獲取
127.0.0.1:6379> get k1 "hzy"
設值
127.0.0.1:6379>
set k1 edc
ok
刪除
127.0.0.1:6379> del k1
(integer) 1
批量設定
127.0.0.1:6379> mset k1 edc k2 hzy
ok
批量獲取
127.0.0.1:6379> mget k1 k2
1)"edc"
2)"hzy"
hash:
設定乙個雜湊key為"h1"其中有乙個鍵值對name : liming
127.0.0.1:6379> hset h1 name liming
(integer) 1
取值
127.0.0.1:6379> hget h1
name "liming"
設值
127.0.0.1:6379> hset h1 name li
(integer) 0
批量設定
127.0.0.1:6379> hmset h1 name li age 11
ok
獲取所有鍵值對
127.0.0.1:6379> hgetall h1
1)"name"
2)"li"
3)"age"
4)"11"
刪除
127.0.0.1:6379> hdel h1 age
(integer) 1
list:
設定乙個list
127.0.0.1:6379> lpush l1 v1
(integer) 1
下標範圍取值
127.0.0.1:6379> lrange l1 0 0
1)"v1"
新增元素 lpush(左push)
127.0.0.1:6379> lpush l1 v2 v3
(integer) 3
127.0.0.1:6379> lrange l1 0 2
1)"v3"
2)"v2"
3)"v1"
右push
127.0.0.1:6379> rpush l1 r1 r2 r3
(integer) 6
127.0.0.1:6379> lrange l1 0 5
1)"v3"
2)"v2"
3)"v1"
4)"r1"
5)"r2"
6)"r3"
獲取第乙個到最後乙個元素
127.0.0.1:6379> lrange l1 0 -1
1)"v3"
2)"v2"
3)"v1"
4)"r1"
5)"r2"
6)"r3"
刪除 左pop
127.0.0.1:6379> lpop l1 "v3"
刪除 右pop
127.0.0.1:6379> rpop l1 "r3"
set:
設定乙個set集合
127.0.0.1:6379> sadd s1 v1
(integer) 1
新增
127.0.0.1:6379> sadd s1 v2
(integer) 1
獲取
127.0.0.1:6379> smembers s1
1)"v2"
2)"v1"
新增重複值會失敗
127.0.0.1:6379> sadd s1 v2
(integer) 0
訂閱和發布功能
開啟兩個客戶端,在其中乙個客戶端執行訂閱,並指定乙個主題為"foo"
127.0.0.1:6379> subscribe foo
reading messages... (press ctrl-c to quit)
1)"subscribe"
2)"foo"
3)(integer) 1
另乙個客戶端在foo發布一條訊息"hahaha"
127.0.0.1:6379> publish foo hahaha
(integer) 1
可以看到訂閱的那個客戶端就列印了這樣一條訊息
127.0.0.1:6379> subscribe foo
reading messages... (press ctrl-c to quit)
1)"subscribe"
2)"foo"
3)(integer) 1
1)"message"
2)"foo"
3)"hahaha"
這就是redis的發布訂閱或者說是訊息佇列功能
它還支援根據萬用字元的訂閱方式,psubscribe
比如訂閱 以a開頭以b結尾 的主題
127.0.0.1:6379> psubscribe a*b
reading messages... (press ctrl-c to quit)
1)"psubscribe"
2)"a*b"
3)(integer) 1
這時候就可以發布 a一坨東西b 發布乙個"haha"
127.0.0.1:6379> publish afewrupdb haha
(integer) 1
訂閱的客戶端也可以收到
127.0.0.1:6379> psubscribe a*b
reading messages... (press ctrl-c to quit)
1)"psubscribe"
2)"a*b"
3)(integer) 1
1)"pmessage"
2)"a*b"
3)"afewrupdb"
4)"haha"
Redis快速入門
redis是一種高階key value資料庫。它跟memcached類似,不過資料可以持久化,而且支援的資料型別很豐富。有字串,鍊錶,集合和有序集合。支援在伺服器端計算集合的並,交和補集 difference 等,還支援多種排序功能。所以redis也可以被看成是乙個資料結構伺服器。wget解壓縮 t...
Redis快速入門
在了解redis之前,我們需要先了解一下非關係型資料庫。當前主流的關係型資料庫有oracle db2 microsoft sql server mysql等。非關係型資料庫有cloudant mongodb redis hbase等。那麼,到底什麼是非關係型資料庫呢?非關係型資料庫 nosql no...
Redis快速入門及應用
redis的使用難嗎?不難,redis用好容易嗎?不容易。redis的使用雖然不難,但與業務結合的應用場景特別多 特別緊,用好並不容易。我們希望通過一篇文章及demo,即可輕鬆 快速入門並學會應用。一 redis 簡介 redis是乙個開源的key value儲存,但又不僅僅是key value儲存...