redis通俗理解

2021-09-12 23:48:03 字數 2113 閱讀 6958

一,redis是什麼

redis是一種支援key-value等多種資料結構的儲存系統。可用於快取,事件發布或訂閱,高速佇列等場景。該資料庫使用ansi c語言編寫,支援網路,提供字串,雜湊,列表,佇列,集合結構直接訪問,基於記憶體,可持久化。

二,支援的語言

三,redis的應用場景有哪些四,redis資料型別

redis一共支援五種資料類:string(字串),hash(雜湊),list(列表),set(集合)和zset(sorted set有序集合)。

1)字串(字串)

它是redis的最基本的資料型別,乙個鍵對應乙個值,需要注意是乙個鍵值最大儲存512mb。

(2)hash(雜湊)

redis hash是乙個鍵值對的集合,是乙個string型別的field和value的對映表,適合用於儲存物件

(3)表(列表)

是redis的簡單的字串列表,它按插入順序排序

(4)組(集合)

是字串型別的無序集合,也不可重複

(5)zset(sorted set有序集合)

是string型別的有序集合,也不可重複

有序集合中的每個元素都需要指定乙個分數,根據分數對元素進行公升序排序,如果多個元素有相同的分數,則以字典序進行公升序排序,sorted set因此非常適合實現排名

6,redis的發布與訂閱

redis的發布與訂閱(發布/訂閱)是它的一種訊息通訊模式,一方傳送資訊,一方接收資訊。

下圖是三個客戶端同時訂閱同乙個頻道

下圖是有新資訊傳送給頻道1時,就會將訊息傳送給訂閱它的三個客戶端

7,redis的持久化

redis持久有兩種方式:快照(快照),僅附加檔案(aof)

快照(快照)

1,將儲存在記憶體的資料以快照的方式寫入二進位制檔案中,如預設dump.rdb中

2,儲存900 1

#900秒內如果超過1個key被修改,則啟動快照儲存

3,儲存300 10

#300秒內如果超過10個key被修改,則啟動快照儲存

4,儲存60 10000

#60秒內如果超過10000個重點被修改,則啟動快照儲存

僅附加檔案(aof)

#開啟aof持久化儲存方式 

#收到寫命令後就立即寫入磁碟,效率最差,效果最好

#每秒寫入磁碟一次,效率與效果居中

#完全依賴作業系統,效率最佳,效果沒法保證

8,redis的的的的效能測試自帶相關測試工具

實際測試同時執行100萬的請求

通俗理解HashMap

原理 hashmap是以key value鍵值對的形式存在著的,大致邏輯為進行put時,根據key值,進行hashing,生成hashcode,對應到bucket的位置然後在當前位置進行key value儲存。根據key值對應的每個字元的阿斯克碼的和再取模於的map長度得出的值都是固定的對應的下標值...

PID通俗理解

pid 即比例積分微分反饋調節。學習pid總是有各種各樣的問題。後來看了各種書,網上請教了不少人,還是一頭霧水,知道這個東西,但是它是怎麼工作的呢?比例積分微分是怎麼配合的呢?我們假如有一杯水,水裡加乙個加熱器,我們可以控制加熱器的電流來保持水溫恆定,如果水溫沒有任何加熱條件下為30度,現在我在水裡...

NP問題通俗理解

時間複雜度 時間複雜度並不是處理乙個問題要花費多少時間,我們研究解決乙個特定的資料問題花費多少時間是沒有意義的,時間複雜度衡量的是隨著問題規模的擴大,程式所需要的時間長度增加的情況。p問題 問題可以在多項式時間內求解的統稱為p問題 可以在多項式內求解的問題一定可以在多項式時間內驗證,所以p問題一定是...