首頁  >  文章  >  資料庫  >  redis將資料儲存在哪裡

redis將資料儲存在哪裡

(*-*)浩
(*-*)浩原創
2019-11-29 10:55:585338瀏覽

redis將資料儲存在哪裡

redis是一個key-value儲存系統。和Memcached類似,它支援儲存的value類型相對較多,包括string(字串)、list(鍊錶)、set(集合)、zset(sorted set --有序集合)和hash(雜湊類型)。 (建議學習:Redis影片教學

這些資料型別都支援push/pop、add/remove及取交集並集和差集及更豐富的操作,而且這些操作都是原子性的。

在此基礎上,redis支援各種不同方式的排序。與memcached一樣,為了確保效率,資料都是快取在記憶體中。

Redis(全名為:Remote Dictionary Server 遠端字典服務)是一個開源的使用ANSI C語言編寫、支援網路、可基於記憶體亦可持久化的日誌型、Key-Value資料庫,並提供多種語言的API。

儲存

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相關技術文章,請造訪Redis入門教學欄位學習!

以上是redis將資料儲存在哪裡的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn