欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Redis中不同持久化方式的差異對(duì)比

 更新時(shí)間:2024年03月27日 09:44:59   作者:ayzen1988  
大家應(yīng)該都知道,Redis持久化方式主要有兩種:RDB(Redis DataBase)和AOF(Append-only file),但是他們各自存儲(chǔ)了什么內(nèi)容?有什么差異呢?今天我來給大家做個(gè)小試驗(yàn),需要的朋友可以參考下

前言

大家應(yīng)該都知道,Redis持久化方式主要有兩種:RDB(Redis DataBase)和AOF(Append-only file)。

但是他們各自存儲(chǔ)了什么內(nèi)容?有什么差異呢?今天我來給大家做個(gè)小試驗(yàn)。

前期準(zhǔn)備,需要安裝好docker、docker-compose的運(yùn)行環(huán)境。

一、安裝Redis

1、創(chuàng)建相關(guān)目錄,執(zhí)行如下命令。

mkdir -p /docker/redis/{data,log}
cd /docker/redis

2、編寫yaml文件,內(nèi)容如下;version替換成自己的docker-compose版本。

vim docker-compose.yaml
version: '2.2.2'
services:
  redis:
    image: redis
    container_name: redis
    user: redis
    restart: always
    command: ["redis-server", "/usr/local/etc/redis/redis.conf"]
    ports:
      - "6379:6379"
    volumes:
      - ./data:/data
      - ./log:/var/log/redis
      - ./redis.conf:/usr/local/etc/redis/redis.conf
    networks:
      - mynet
 
networks:
  mynet:
    name: mynet
    driver: bridge

3、編寫配置文件,內(nèi)容如下。

vim redis.conf
# 綁定的IP地址,若想監(jiān)聽所有網(wǎng)卡則可以注釋掉(默認(rèn)只監(jiān)聽本地環(huán)回接口)
# bind 127.0.0.1
 
# Redis服務(wù)器運(yùn)行的TCP端口
port 6379
 
# 是否以守護(hù)進(jìn)程模式運(yùn)行
daemonize no
 
# PID文件位置
pidfile /var/run/redis-server.pid
 
# 日志文件位置
logfile "/var/log/redis/redis-server.log"
 
# 數(shù)據(jù)庫的數(shù)量,默認(rèn)是16個(gè)
databases 16
 
# 持久化選項(xiàng)
# RDB快照配置
save 1 1
save 900 1
save 300 10
save 60 10000
 
# AOF持久化開關(guān)
appendonly no
 
# AOF重寫條件
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
 
# 日志級(jí)別
loglevel notice
 
# TCP連接超時(shí)時(shí)間(秒)
timeout 0
 
# 客戶端閑置多長時(shí)間后斷開連接(秒)
tcp-keepalive 300

4、啟動(dòng)服務(wù),執(zhí)行如下命令。

docker-compose up -d

5、檢查服務(wù)是否正常啟動(dòng),執(zhí)行如下命令。

docker-compose ps -a

正常情況會(huì)返回類似如下內(nèi)容。

6、如果有服務(wù)啟動(dòng)失敗,可以使用如下命令排查問題。

docker logs redis

7、至此,Redis安裝完成并且已正常運(yùn)行。

二、測(cè)試RDB(Redis DataBase)

1、修改配置文件,開啟RDB模式關(guān)閉AOF模式,內(nèi)容如下。

# 持久化選項(xiàng)
# RDB快照配置
 
# 這意味著如果Redis服務(wù)器在900秒(15分鐘)內(nèi)至少有一個(gè)鍵的數(shù)據(jù)發(fā)生變化,它將會(huì)執(zhí)行一次RDB持久化操作。
save 900 1
 
# 這個(gè)設(shè)置指,在300秒(5分鐘)內(nèi)如果有至少10個(gè)不同的鍵發(fā)生了變化,Redis也會(huì)創(chuàng)建一個(gè)新的RDB文件并將其保存到磁盤。
save 300 10
 
# 這個(gè)規(guī)則則表明,即使在很短的時(shí)間窗口內(nèi)(60秒,即1分鐘),只要有10000次(任何數(shù)量的變化都可以視為達(dá)到該閾值,因?yàn)橥ǔG闆r下1分鐘內(nèi)不會(huì)發(fā)生如此大量的變更)鍵的變化,Redis也將執(zhí)行持久化。
save 60 10000
 
# AOF持久化開關(guān)
appendonly no

2、重新啟動(dòng)Redis,執(zhí)行如下命令。

docker-compose down && docker-compose up -d

 3、進(jìn)入Redis客戶端,執(zhí)行如下命令。

docker exec -ti redis redis-cli

4、進(jìn)行一些簡單的操作,設(shè)置key、刪除key,執(zhí)行類似如下的命令。

set t1 max
set t1 hello-max
set t1 world-max

5、查看RDB文件,執(zhí)行如下命令。

cat data/dump.rdb

返回內(nèi)容如下。

從文件中可以看出來,只記錄了最后一次設(shè)置的key跟value。

6、刪除t1,然后再查看文件內(nèi)容如下。

從文件中已經(jīng)看不到t1的記錄了。

7、至此,RDB模式已測(cè)試完成。

三、測(cè)試AOF(Append-only file)

1、修改配置文件,開啟AOF模式關(guān)閉RDB模式,內(nèi)容如下。

# 持久化選項(xiàng)
# RDB快照配置
# RDB配置全部注釋掉
#save 900 1
#save 300 10
#save 60 10000
 
# AOF持久化開關(guān)
appendonly yes

 2、重新啟動(dòng)Redis,執(zhí)行如下命令。

docker-compose down && docker-compose up -d

3、進(jìn)入Redis客戶端,執(zhí)行如下命令。

docker exec -ti redis redis-cli

4、進(jìn)行一些簡單的操作,設(shè)置key、刪除key,執(zhí)行類似如下的命令。

set t1 max
set t1 hello-max
set t1 world-max
del t1

5、查看AOF文件,執(zhí)行如下命令。

cat data/appendonly.aof

返回內(nèi)容如下。

從文件中可以看出來,每次的操作都有記錄。

6、至此、AOF模式已測(cè)試完成。

總結(jié)

Redis持久化方式主要有兩種:RDB(Redis DataBase)和AOF(Append-only file)。

1、RDB(Redis DataBase)

  • 保存了某個(gè)時(shí)間點(diǎn)上的數(shù)據(jù)快照,對(duì)于恢復(fù)數(shù)據(jù)來說比較快。
  • 占用空間相對(duì)較小,節(jié)省磁盤空間。

2、AOF(Append-only file)

  • 記錄Redis執(zhí)行的每個(gè)寫命令,保證了每個(gè)寫操作都能被持久化,從而提高了數(shù)據(jù)安全性。
  • 文件是一個(gè)文本文件,易于閱讀和理解,對(duì)于排查問題有幫助。
  • 因?yàn)橛涗浟嗣總€(gè)寫操作,所以AOF文件通常比RDB文件大。

到此這篇關(guān)于Redis中不同持久化方式的差異對(duì)比的文章就介紹到這了,更多相關(guān)Redis持久化方式差異內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Redis之如何實(shí)現(xiàn)用戶關(guān)注

    Redis之如何實(shí)現(xiàn)用戶關(guān)注

    這篇文章主要介紹了Redis之如何實(shí)現(xiàn)用戶關(guān)注問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2025-03-03
  • 基于Redis實(shí)現(xiàn)阻塞隊(duì)列的方式

    基于Redis實(shí)現(xiàn)阻塞隊(duì)列的方式

    本文主要講解基于?Redis?的方式實(shí)現(xiàn)異步隊(duì)列,基于?Redis?的?list?實(shí)現(xiàn)隊(duì)列的方式也有多種,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧
    2021-12-12
  • Redis快速實(shí)現(xiàn)分布式session的方法詳解

    Redis快速實(shí)現(xiàn)分布式session的方法詳解

    Session是客戶端與服務(wù)器通訊會(huì)話跟蹤技術(shù),服務(wù)器與客戶端保持整個(gè)通訊的會(huì)話基本信息。本文主要介紹了Redis快速實(shí)現(xiàn)分布式session的方法,感興趣的可以學(xué)習(xí)一下
    2022-01-01
  • 詳解Redis中的簡單動(dòng)態(tài)字符串和C字符串的區(qū)別

    詳解Redis中的簡單動(dòng)態(tài)字符串和C字符串的區(qū)別

    簡單動(dòng)態(tài)字符串(SDS)和?C?字符串在實(shí)現(xiàn)和特性上存在一些區(qū)別,這些區(qū)別使得?SDS?更適合作為?Redis?中字符串對(duì)象的內(nèi)部表示,本文給大家介紹一下Redis中的簡單動(dòng)態(tài)字符串和C字符串的區(qū)別,需要的朋友可以參考下
    2023-12-12
  • Redis解決庫存超賣問題實(shí)例講解

    Redis解決庫存超賣問題實(shí)例講解

    這篇文章主要介紹了Redis解決庫存超賣問題實(shí)例講解,問題和解決辦法都列舉了出來,很貼合實(shí)際開發(fā)場(chǎng)景,有需要的同學(xué)可以學(xué)習(xí)下
    2021-03-03
  • 查看redis的緩存時(shí)間方式

    查看redis的緩存時(shí)間方式

    這篇文章主要介紹了查看redis的緩存時(shí)間方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2025-03-03
  • redis如何后臺(tái)啟動(dòng)的方法

    redis如何后臺(tái)啟動(dòng)的方法

    這篇文章主要介紹了redis如何后臺(tái)啟動(dòng)的方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • Redis 鍵值設(shè)計(jì)使用總結(jié)

    Redis 鍵值設(shè)計(jì)使用總結(jié)

    這篇文章主要介紹了Redis鍵值設(shè)計(jì)的使用總結(jié),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-04-04
  • Linux服務(wù)器快速安裝Redis6.0步驟示例詳解

    Linux服務(wù)器快速安裝Redis6.0步驟示例詳解

    這篇文章主要為大家介紹了Linux服務(wù)器快速安裝Redis6.0步驟示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-12-12
  • 淺談Redis安全策略

    淺談Redis安全策略

    Redis 提供了諸多安全策略,比如為了保證數(shù)據(jù)安全,提供了設(shè)置密碼的功能。本文就詳細(xì)的介紹了一下Redis安全策略,具有一定的參考價(jià)值,感興趣的可以了解一下
    2021-11-11

最新評(píng)論