Redis基本知識

2021-10-13 12:58:43 字數 2611 閱讀 2949

redis 是什麼?

redis(remote dictionary server ),即遠端字典服務

使用ansi c語言編寫、支援網路、可基於記憶體亦可持久化的日誌型、key-value資料庫,並提供多種語言的api。

免費,開源,是當下最熱門的 nosql 技術之一。

redis 可以做什麼?

redis 具有可持久化的特點,可以做記憶體資料庫。

redis 訪問效率很高,可以用來做快取記憶體。

用於發布訂閱系統

地圖資訊分析

計時器,計數器(瀏覽量)

分布式鎖

redis 的特性

資料型別多樣

讀寫速度極快

可持久化

支援集群

支援事務

get & set 就不多說了,redis 預設有 16 個資料庫,同時預設使用的是第乙個(下標為 0 )資料庫,可以使用 select 進行資料庫的切換。

127.0.0.1:6379>

select 1 # 選用第 2 個資料庫

ok127.0.0.1:6379[1]

> dbsize # 檢視當前資料庫的大小

(integer) 0

127.0.0.1:6379[1]

>

set name iron

ok127.0.0.1:6379[1]

> dbsize

(integer) 1

127.0.0.1:6379[2]

>

select 2

ok127.0.0.1:6379[2]

> dbsize

(integer) 0

127.0.0.1:6379[2]

> get name

(nil)

127.0.0.1:6379[2]

>

select 1

ok127.0.0.1:6379[1]

> get name

"iron"

檢視資料庫所有的 key

127.0.0.1:6379[1]

> keys *

1)"name"

清除當前資料庫flushdb

127.0.0.1:6379[1]

>

set name egg

ok127.0.0.1:6379[1]

> keys *

1)"name"

127.0.0.1:6379[1]

> flushdb # 清除當前資料庫

ok127.0.0.1:6379[1]

> keys *

(empty array)

清除全部資料庫flushall

127.0.0.1:6379>

select 0

ok127.0.0.1:6379>

set name iron

ok127.0.0.1:6379> keys *

1)"name"

127.0.0.1:6379>

select 1

ok127.0.0.1:6379[1]

> flushall # 清除全部資料庫,執行完命令後, 0 號資料庫資料為空

ok127.0.0.1:6379[1]

>

select 0

ok127.0.0.1:6379> keys *

(empty array)

設定過期時間以及檢視過期時間

127.0.0.1:6379>

set name iron

ok127.0.0.1:6379> expire name 12 # 設定過期時間,單位 秒

(integer) 1

127.0.0.1:6379> ttl name # 檢視 name 的剩餘有效時間

(integer) 9

127.0.0.1:6379> ttl name

(integer) 7

127.0.0.1:6379> ttl name

(integer) 5

127.0.0.1:6379> ttl name # 當返回 -2 時,表示 key 已失效

(integer) -2

127.0.0.1:6379> ttl age # 對於沒有建立的 key , ttl 返回也是 -2

(integer) -2

檢視當前 key 的型別

127.0.0.1:6379>

set name iron

ok127.0.0.1:6379>

type name

string

redis基本知識

sds字串的優點 杜絕緩衝區溢位 在c語言中,新增字串都會假設儲存的長度能足夠的容納新增的字串,然而新增長度一旦超過了儲存的長度,就會存在緩衝區溢位,使得新增的字串被擷取,導致新增字串內容丟失。減少修改字串時帶來的記憶體重分配次數 c語言中,字串本身並不記錄自身的長度,而字串的底層實現總是乙個n 1...

redis基本知識

redis預設有16個資料庫 預設使用第0個 使用select切換資料庫 dbsize檢視大小 keys 檢視資料庫所有的key flushdb清除當前資料庫 flushall清除全部資料庫 redis是單執行緒的基於記憶體操作 核心 redis是將所有的資料庫全部放在記憶體中,所以使用單執行緒去操...

Redis基本知識

1.redis主要的三種模式 單機模式 分片模式 sharedjedis 集群模式 binaryjediscluster 分片模式通過一致性雜湊將key分布到不同的server上 2.如果乙個事務提交,事務中的所有操作將順序執行,且在事務執行期間其他client將阻塞 a.redis是單執行緒處理不...