一,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問題一定是...