redis常用命令及常見面試題

2021-10-08 07:43:42 字數 1964 閱讀 3788

redis(remote dictionary server) 是乙個使用 c 語言編寫的,開源的(bsd許可)高效能非關係型(nosql)的鍵值對資料庫。

redis 可以儲存鍵和五種不同型別的值之間的對映。 鍵的型別只能為字串,值支援五種資料型別:字串、列表、集合、雜湊表、有序集合。

與傳統資料庫不同的是 redis 的資料是存在記憶體中的,所以讀寫速度非常快,因此 redis 被廣泛應用於快取方向,每秒可以處理超過 10萬次讀寫操作,是已知效能最快的key-value db。另外,redis 也經常用來做分布式鎖。除此之外,redis 支援事務 、持久化、lua指令碼、lru驅動事件、多種集群方案。

字串(strings), 雜湊(hashes), 列表(lists), 集合(sets), 有序集合(sorted sets)
redis的資料都儲存在記憶體中,如果斷電或者宕機,則記憶體資料將擦除,導致資料的丟失.為了防止資料丟失,redis內部有持久化機制.

當第一次redis服務啟動時,根據配置檔案中的持久化要求.進行持久化操作.如果不是第一次啟動,則在服務啟動時會根據持久化檔案的配置,讀取指定的持久化檔案.實現記憶體資料的恢復.

特點:

1.rdb模式是redis中預設的持久化策略.

2.rdb模式定期持久化,儲存的是redis中的記憶體資料快照,持久化檔案占用空間較小,效率更高

3.rdb模式可能導致記憶體資料丟失

特點:1)

.aof模式預設條件下是關閉狀態. 如果需要開啟則需要修改配置檔案.2)

.aof模式可以實現資料的實時持久化操作,aof模式記錄的是使用者的操作過程.3)

.只要開啟了aof模式,則持久化方式以aof模式為主.4)

.aof 檔案比 rdb 檔案大,且恢復速度慢。5)

.資料集大的時候,比 rdb 啟動效率低。

1.如果使用者允許少量的資料丟失,則可以選用rdb模式. 效率更高

2.如果使用者不允許資料丟失,則選用aof模式.

3.可以2種方式都選, 需要搭建組從結構 , 主機選用rdb模式, 從機選用aof模式,可以保證業務允許.

1.啟動redis       redis-server redis.conf

2.進入客戶端 redis-cli -p 6379 埠號預設是6379可以省略 redis-cli

3.關閉redis redis-cli -p 6379 shutdown 或 edis-cli shutdown

4.檢查啟動狀態: ps -ef | grep redis

說明:可以用雜湊型別儲存物件和屬性值

例子:user物件

說明:redis中的list集合是雙端迴圈列表,分別可以從左右兩個方向插入資料.

list集合可以當做佇列使用,也可以當做棧使用

佇列:存入資料的方向和獲取資料的方向相反

棧:存入資料的方向和獲取資料的方向相同

redis中操作可以新增事務的支援.一項任務可以由多個redis命令完成,如果有乙個命令失敗導致入庫失敗時.需要實現事務回滾.

redis常見面試題

為什麼redis單執行緒還是這麼快?1.絕大部分的請求是純粹的記憶體操作 非常快速 2.採用單執行緒,避免了不必要的額競爭條件和上下文切換,單執行緒指的是網路請求模組使用的是乙個執行緒,即乙個執行緒處理了所有網路請求。3.非阻塞i o i o多路復用,這樣提高了redis的吞吐量,多路 指的是多個網...

Redis常見面試題

5.2.1 redis 是什麼?常 的應用場景?redis是乙個快取資料庫,是乙個非關係型資料庫的鍵值儲存資料庫 應用場景 內容快取,主要用於處理大量資料的高訪問負載 日誌系統5.2.2 redis 常 資料型別有哪些?各自有什麼應用場景?string 儲存的資料是普通的鍵值對可用string來進行...

常見面試題(Redis)

redis redis支援的資料型別?string字串 hash 雜湊 list 列表 set 集合 zset sorted set 有序集合 如何解決快取雪崩 我們先說一下什麼是快取雪崩吧 簡單來說就是redis掛掉了,請求全部走資料庫。還有就是 如果快取資料設定的過期時間是相同的,並且redis...