常見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產生子程序處理快照持久化 共享記憶體中的 段和資料段 子程序不會改...