redis快速入門

2021-10-03 14:04:52 字數 3775 閱讀 9947

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儲存...