Redis是一個開源的使用ANSI C語言編寫、支援網路、可基於記憶體亦可持久化的日誌類型、Key-Value資料庫,並提供多種語言的API。
Redis是一個非常快速的開源非關聯、Key-Value資料庫,通常稱為資料結構伺服器;它儲存了五種不同類型值的鍵映射。用作資料庫,快取和訊息代理。
Redis和其他鍵值資料庫之間的主要區別之一是Redis儲存和操作進階資料類型的能力。這些資料類型是大多數開發人員熟悉的基本資料結構(列表,映射,集合和排序集)。 Redis的卓越效能,簡單性和資料結構的原子操作有助於解決使用傳統關係型資料庫實作時難以實現或執行不佳的問題。
Redis儲存
redis使用了兩種檔案格式:全量資料和增量請求。
全量資料格式是把記憶體中的資料寫入磁碟,以便下次讀取檔案載入;
#增量請求檔則是把記憶體中的資料序列化為操作請求,用於讀取檔案進行replay得到數據,序列化的操作包括SET、RPUSH、SADD、ZADD。
redis的儲存分為記憶體儲存、磁碟儲存和log檔案三部分,設定檔中有三個參數對其進行配置。
save seconds updates,save配置,指出在多長時間內,有多少次更新操作,就將資料同步到資料檔案。這個可以多個條件配合,例如預設設定檔中的設置,就設定了三個條件。
appendonly yes/no ,appendonly配置,指出是否在每次更新操作後進行日誌記錄,如果不開啟,可能會在斷電時導致一段時間內的資料遺失。因為redis本身同步資料檔是依照上面的save條件來同步的,所以有的資料會在一段時間內只存在於記憶體中。
appendfsync no/always/everysec ,appendfsync配置,no表示等作業系統進行資料快取同步到磁碟,always表示每次更新操作後手動呼叫fsync()將資料寫到磁碟,everysec表示每秒同步一次。
以上是redis是什麼意思?的詳細內容。更多資訊請關注PHP中文網其他相關文章!