讀書筆記 《Redis實戰》

2021-09-25 09:17:02 字數 2079 閱讀 8231

常見db對比表,由於未標明各個db的版本,這個**其實並不準確,特別是附加功能欄。

名稱型別

資料儲存結構

查詢型別

附加功能

redis

使用記憶體的非關係型資料庫

字串、列表、集合、有序集合、雜湊表

每種資料型別都有專屬指令;批量操作;不完全的事務支援

發布與訂閱;主從複製;持久化;指令碼

memcached

使用記憶體的鍵值對快取

鍵值對建立、讀取、更新、刪除及其他命令

多執行緒伺服器

mysql

關係型資料庫

資料庫包含多個表,表包含多行記錄;可以處理表的檢視;支援空間與第三方擴充套件

select、insert、update、delete;內建函式;自定義儲存過程

支援acid;主從複製;主主複製

postgresql

關係型資料庫

資料庫包含多個表,表包含多行記錄;可以處理表的檢視;支援空間與第三方擴充套件;支援定製型別

select、insert、update、delete;內建函式;自定義儲存過程

支援acid;主從複製;多主複製

mongodb

使用硬碟的非關係型文件儲存

資料庫包含多個表,表包含無schema的bson文件

建立、讀取、更新、刪除、條件查詢及其他命令

支援map-reduce;主從複製;分片;空間索引

map-reduce(對映與歸約):mapreduce是面向大資料並行處理的計算模型、框架和平台。

磁碟是如何儲存資料的?

資訊儲存在硬碟裡,把它拆開也看不見裡面有任何東西,只有些碟片。假設,你用顯微鏡把碟片放大,會看見碟片表面凹凸不平,凸起的地方被磁化,凹的地方是沒有被磁化。因此硬碟可以以二進位制來儲存表示文字、等資訊。

機械盤和固態盤的區別

機械盤:資料是儲存的扇區的,讀寫是依靠磁頭的擺動定址的。順序讀寫主要時間花費在了傳輸時間,隨機讀寫因為記憶體碎片需要多次尋道和旋轉延遲。

固態盤:是由控制單元和固態儲存單元(dram或flash晶元)組成,儲存單元負責儲存資料,控制單元負責讀取、寫入資料。由於固態硬碟沒有普通硬碟的機械結構,也不存在機械硬碟的尋道問題。

順序讀寫和隨機讀寫對比

隨機讀寫是相對順序讀寫而言的,所謂隨機讀寫,是指可以在任何時候將訪問檔案的指標指向檔案內容的任何位置。一般情況下sas機械硬碟主要是看順序讀寫效能,ssd固態盤主要看隨機讀寫效能。

檔案的操作方式

順序讀寫:檔案指標只能從頭移動到尾。

隨機讀寫:檔案指標可以隨意移動,根據需要。

特殊情況

多程序情況下的順序讀寫,需要不斷地切換磁頭到不同的檔案,其實也已經表現為隨機寫了。

cookie型別

優點缺點

簽名所有資訊放cookie,簽名實現簡單

容易忘記進行簽名或者驗證簽名,從而造成安全漏洞

令牌只存令牌,cookie體積小

需要在伺服器中儲存更多的資訊

已在《redis設計與實現》中學習,跳過

已在《redis設計與實現》中學習,跳過

- 使用redis記錄日誌

- 使用redis實現計數器並進行資料統計

- 查詢ip位址所屬的城市與國家

- 服務的發現與配置

- 構建兩個字首匹配自動補全程式

- 通過構建分布式鎖來提高效能

- 通過開發計數訊號量來控制併發

- 構建兩個不同用途的任務佇列

- 通過訊息拉取系統來實現延遲訊息傳遞

- 學習如何進行檔案分發

偏業務,跳過

偏業務,跳過

- 短結構

- 分片結構

- 打包儲存二進位制和位元組

- 擴充套件讀效能

- 擴充套件寫效能和記憶體容量

- 擴充套件複雜的查詢

- 在不編寫c**的清空下新增新功能

- 使用lua重寫鎖和訊號量

- 移除watch/multi/exec事務

- 使用lua對列表進行分片

讀書筆記 redis歷險和實戰3

redis持久化,一種是快照,一種是aof日誌,快照是全量備份,是記憶體資料的二進位制序列化,在儲存上緊湊,而日誌是連續的增量備份,是記憶體資料修改的指令記錄文字,時間越長,日誌變得越大,需要使用bgwriteaof對aof日誌重寫 原理是開闢子程序對記憶體遍歷,轉換一些列redis的操作指令,序列...

Redis讀書筆記(二)

1.通用命令 keys pattern 遍歷所有的key,一般不在生產環境中使用 可用scan代替 dbsize 計算key的總數 exists key 檢查key是否存在 存在返回1 不存在返回0 del key 刪除指定的key key可以設定多個 expire key seconds key ...

redis 讀書筆記 1

remote dictionary service 套接字socket 對網路中不同主機上的應用程序之間進行雙向通訊的端點的抽象 持久化 1.作用 防止資料丟失 2.機制 rdb儲存 快照 硬碟 全量備份,二進位制序列化形式 fork產生子程序處理快照持久化 共享記憶體中的 段和資料段 子程序不會改...