redis持久化存儲(chǔ)

Redis 分別提供了 RDB 和 AOF 兩種持久化機(jī)制:

  • RDB 將數(shù)據(jù)庫的快照(snapshot)以二進(jìn)制的方式保存到磁盤中捻爷。
  • AOF 則以協(xié)議文本的方式源武,將所有對(duì)數(shù)據(jù)庫進(jìn)行過寫入的命令(及其參數(shù))記錄到 AOF 文件畸冲,以此達(dá)到記錄數(shù)據(jù)庫狀態(tài)的目的称诗。

RDB

a. 什么是RDB

和 MySQL 中的 mysqldump 差不多一個(gè)道理致讥。

image

b. 什么情況下會(huì)觸發(fā) RDB

第一種情況富岳,主動(dòng)執(zhí)行 save 命令

(同步,阻塞 陈瘦,就是save 命令執(zhí)行完畢后才能執(zhí)行后續(xù)的其他命令操作)

image

阻塞
image

保存 RDB 文件的策略

每次創(chuàng)建新的文件幌甘,并且替換原來舊文件(假如存在舊的文件)

第二種情況,主動(dòng)執(zhí)行 bgsave 命令 (異步痊项,非阻塞 )

image
  • 文件策略和 save 相同

第三種情況锅风,自動(dòng)觸發(fā)

自動(dòng)觸發(fā),就是通過對(duì) Redis 的配置文件重相關(guān)選項(xiàng)的修改鞍泉,當(dāng)達(dá)到某個(gè)配置好的條件后皱埠,自動(dòng)生成 RDB 文件
,其內(nèi)部使用的是 bgsave 命令咖驮。

配置文件中相關(guān)選項(xiàng)的默認(rèn)值如下表:

配置 seconds changes 含義
save 900 1 每隔 900 秒檢查一次漱逸,假如至少有 1 條數(shù)據(jù)改變,就生成新的 RDB 文件
save 300 10 每隔 300 秒檢查一次游沿,假如至少有 10 條數(shù)據(jù)改變饰抒,就生成新的 RDB 文件
save 60 10000 每隔 60 秒檢查一次,假如至少有 10000 條數(shù)據(jù)改變诀黍,就生成新的 RDB 文件

每次檢查都會(huì)建立一個(gè)新的檢查點(diǎn)袋坑,以便用于下次檢查作為參考信息。

關(guān)于 RDB 文件的配置信息

默認(rèn)文件名
dbfilename dump.rdb

默認(rèn)文件保存位置
dir ./

假如 bgsave 執(zhí)行中發(fā)生錯(cuò)誤,是否停止寫入枣宫,默認(rèn)是 yes 婆誓, 表示假如出錯(cuò),就停止寫入也颤。
stop-writes-on-bgsave-error yes

是否使用壓縮|
rdbcompression yes

是否進(jìn)行數(shù)據(jù)的校驗(yàn)
rdbchecksum yes

建議的最佳配置

關(guān)閉自動(dòng)生成 RDB 文件
在配置文件中注釋掉如下內(nèi)容

#save 900 1
#save 300 10
#save 60    10000

使用不同端口號(hào)進(jìn)行區(qū)分洋幻,因?yàn)椋锌赡軙?huì)在同一臺(tái)主機(jī)上開啟多個(gè) Redis 實(shí)例翅娶。
防止多個(gè)實(shí)例產(chǎn)生的數(shù)據(jù)信息寫到一個(gè)文件中文留。
dbfilename dump-${port}.rdb
指定一個(gè)大硬盤的路徑
dir /redis_data
假如出現(xiàn)錯(cuò)誤,停止繼續(xù)寫入
stop-writes-on-bgsave-error yes
采用壓縮
rdbcompression yes
進(jìn)行校驗(yàn)
rdbchecksum yes

實(shí)驗(yàn)

進(jìn)入centos的docker容器

安裝所需包和模塊

yum install epel-release
yum install -y redis
yum install -y supervisor

查看redis安裝時(shí)所有文件

rpm -ql redis
可發(fā)現(xiàn)其中有/usr/bin/redis-server

注意:可用/usr/bin/redis-server命令啟動(dòng)服竭沫,但用此命令啟動(dòng)燥翅,會(huì)運(yùn)行在前臺(tái)
因?yàn)闀?huì)占用終端,所以采用下文supervisor的方式啟動(dòng)redis服務(wù)

部分配置文件

補(bǔ)充:可用rpm -qc redis查看所有的配置文件蜕提、rpm -qa redisrpm -qa |grep redis查找rpm安裝所有包中過濾redis包

image.png

image.png

創(chuàng)建文件夾

mkdir /etc/redis

打開配置文件

vi /etc/6379.conf

  • 注釋這三行


    image.png
  • 改寫這行


    image.png

創(chuàng)建配置文件/etc/supervisord.d/redis.ini

vi /etc/supervisord.d/redis.ini
文件內(nèi)容詳解:

[program:qfcmdb]
;執(zhí)行的命令
command=/usr/bin/redis-server /etc/redis/6379.conf
priority=999 ; 優(yōu)先級(jí)(越小越優(yōu)先)
autostart=true ; supervisord啟動(dòng)時(shí)森书,該程序也啟動(dòng)
autorestart=true ; 異常退出時(shí),自動(dòng)啟動(dòng)
startsecs=10 ; 啟動(dòng)后持續(xù)10s后未發(fā)生異常谎势,才表示啟動(dòng)成功
startretries=3 ; 異常后凛膏,自動(dòng)重啟次數(shù)
exitcodes=0,2 ; exit異常拋出的是0、2時(shí)才認(rèn)為是異常
stopsignal=QUIT ; 殺進(jìn)程的信號(hào)
; 在程序發(fā)送stopignal后脏榆,等待操作系統(tǒng)將SIGCHLD返回給supervisord的秒數(shù)猖毫。
; 如果在supervisord從進(jìn)程接收到SIGCHLD之前經(jīng)過了這個(gè)秒數(shù),
; supervisord將嘗試用最終的SIGKILL殺死它
stopwaitsecs=1
user=root ; 設(shè)置啟動(dòng)該程序的用戶
log_stdout=true ; 如果為True姐霍,則記錄程序日志
log_stderr=false ; 如果為True鄙麦,則記錄程序錯(cuò)誤日志
logfile=/var/log/6379.log ; 程序日志路徑
logfile_maxbytes=1MB ; 日志文件最大大小
logfile_backups=3 ; 日志文件最大數(shù)量
[include]
files = relative/directory/*.ini

/etc/supervisord.d/redis.ini

[program:redis-6379]

command=/usr/bin/redis-server /etc/redis/6379.conf
priority=999
autostart=true
autorestart=true
startsecs=10
startretries=3
exitcodes=0,2
stopsignal=QUIT


stopwaitsecs=1
user=root
log_stdout=true
log_stderr=false
logfile=/var/log/6379.log   
logfile_maxbytes=1MB
logfile_backups=3   

查看配置文件

supervisor配置文件位置

vi /etc/supervisord.conf

image.png

/etc下已修改的文件結(jié)構(gòu)

  • supervisord.conf 文件和 supervisord.d文件夾
    其中 supervisord.d文件夾中有一個(gè)自定義的任意.ini的文件
    (此處自定義命名為redis.ini文件)
    image.png
  • redis文件夾
    (其中有一個(gè)自定義的任意的以.conf結(jié)尾的文件典唇,此處命名為:6379.conf文件)
    redis文件目錄

啟動(dòng)supervisor

supervisord

image.png

報(bào)錯(cuò)信息

由于 已經(jīng)以/usr/bin/redis-server起了一個(gè)redis服務(wù)镊折,所以,supervisord一直無法啟動(dòng)介衔,先需要kill掉這兩個(gè)進(jìn)程恨胚,然后用supervisor重啟服務(wù)即可


image.png
  • 此時(shí),再查看炎咖,可發(fā)現(xiàn)redis服務(wù)已啟動(dòng)


    image.png

手動(dòng)觸發(fā)生成二進(jìn)制文件

注釋了三個(gè)save赃泡,所以需要手動(dòng)去save后觸發(fā)生成.rdb的文件


image.png

持久化存儲(chǔ)

重啟redis后,可發(fā)現(xiàn)set的name依舊存在乘盼,因此實(shí)現(xiàn)了持久化存儲(chǔ)


image.png

修改配置文件

vi /etc/redis/6379.conf

修改.png

重啟

  • 修改name升熊,觸發(fā)保存


    image.png
  • 查看配置文件中定義的保存文件
    cat /var/lib/redis/appendonly-6379.aof
    image.png

AOF

什么是 AOF

AOF 文件保存了 Redis 的數(shù)據(jù)庫狀態(tài), 而文件里面包含的都是符合 Redis 通訊協(xié)議格式的命令文本绸栅。

image

AOF 保存的模式

Redis 目前支持三種 AOF 保存模式级野,它們分別是:

  1. AOF_FSYNC_NO :不保存。
  2. AOF_FSYNC_EVERYSEC :每一秒鐘保存一次粹胯。(生產(chǎn)中一般選這種)
  3. AOF_FSYNC_ALWAYS :每執(zhí)行一個(gè)命令保存一次

不保存

在這種模式下蓖柔, SAVE 只會(huì)在以下任意一種情況中被執(zhí)行:

Redis 被關(guān)閉
AOF 功能被關(guān)閉
系統(tǒng)的寫緩存被刷新(可能是緩存已經(jīng)被寫滿辰企,或者定期保存操作被執(zhí)行)
這三種情況下的 SAVE 操作都會(huì)引起 Redis 主進(jìn)程阻塞。

每執(zhí)行一個(gè)命令保存一次

在這種模式下况鸣,每次執(zhí)行完一個(gè)命令之后牢贸, WRITE 和 SAVE 都會(huì)被執(zhí)行。

另外镐捧,因?yàn)?SAVE 是由 Redis 主進(jìn)程執(zhí)行的潜索,所以在 SAVE 執(zhí)行期間,主進(jìn)程會(huì)被阻塞愤估,不能接受命令請(qǐng)求帮辟。

AOF 三種保存模式的比較

因?yàn)樽枞僮鲿?huì)讓 Redis 主進(jìn)程無法持續(xù)處理請(qǐng)求, 所以一般說來玩焰, 阻塞操作執(zhí)行得越少由驹、完成得越快, Redis 的性能就越好昔园。

模式 1 的保存操作只會(huì)在AOF 關(guān)閉或 Redis 關(guān)閉時(shí)執(zhí)行蔓榄, 或者由操作系統(tǒng)觸發(fā), 在一般情況下默刚, 這種模式只需要為寫入阻塞甥郑, 因此它的寫入性能要比后面兩種模式要高, 當(dāng)然荤西, 這種性能的提高是以降低安全性為代價(jià)的: 在這種模式下澜搅, 如果運(yùn)行的中途發(fā)生停機(jī), 那么丟失數(shù)據(jù)的數(shù)量由操作系統(tǒng)的緩存沖洗策略決定邪锌。

模式 2 在性能方面要優(yōu)于模式 3 勉躺, 并且在通常情況下, 這種模式最多丟失不多于 2 秒的數(shù)據(jù)觅丰, 所以它的安全性要高于模式 1 饵溅, 這是一種兼顧性能和安全性的保存方案。

模式 3 的安全性是最高的妇萄, 但性能也是最差的蜕企, 因?yàn)榉?wù)器必須阻塞直到命令信息被寫入并保存到磁盤之后, 才能繼續(xù)處理請(qǐng)求冠句。

綜合起來轻掩,三種 AOF 模式的操作特性可以總結(jié)如下:

模式 WRITE 是否阻塞? SAVE 是否阻塞懦底? 停機(jī)時(shí)丟失的數(shù)據(jù)量
AOF_FSYNC_NO 阻塞 阻塞 操作系統(tǒng)最后一次對(duì) AOF 文件觸發(fā) SAVE 操作之后的數(shù)據(jù)唇牧。
AOF_FSYNC_EVERYSEC 阻塞 不阻塞 一般情況下不超過 2 秒鐘的數(shù)據(jù)。
AOF_FSYNC_ALWAYS 阻塞 阻塞 最多只丟失一個(gè)命令的數(shù)據(jù)。

AOF 方式下的數(shù)據(jù)還原

Redis 讀取 AOF 文件并還原數(shù)據(jù)庫的詳細(xì)步驟如下:

創(chuàng)建一個(gè)不帶網(wǎng)絡(luò)連接的偽客戶端(fake client)奋构。
讀取 AOF 所保存的文本壳影,并根據(jù)內(nèi)容還原出命令、命令的參數(shù)以及命令的個(gè)數(shù)弥臼。
根據(jù)命令宴咧、命令的參數(shù)和命令的個(gè)數(shù),使用偽客戶端執(zhí)行該命令径缅。
執(zhí)行 2 和 3 柠并,直到 AOF 文件中的所有命令執(zhí)行完畢茸习。
完成第 4 步之后, AOF 文件所保存的數(shù)據(jù)庫就會(huì)被完整地還原出來。

注意窍侧, 因?yàn)?Redis 的命令只能在客戶端的上下文中被執(zhí)行冻璃, 而 AOF 還原時(shí)所使用的命令來自于 AOF 文件腐缤, 而不是網(wǎng)絡(luò)慢蜓, 所以程序使用了一個(gè)沒有網(wǎng)絡(luò)連接的偽客戶端來執(zhí)行命令。

當(dāng)程序讀入這個(gè) AOF 文件時(shí)鼠锈, 它首先執(zhí)行 SELECT 0 命令 —— 這個(gè) SELECT 命令是由 AOF 寫入程序自動(dòng)生成的闪檬, 它確保程序可以將數(shù)據(jù)還原到正確的數(shù)據(jù)庫上。

注意:
為了避免對(duì)數(shù)據(jù)的完整性產(chǎn)生影響购笆, 在服務(wù)器載入數(shù)據(jù)的過程中粗悯, 只有和數(shù)據(jù)庫無關(guān)的訂閱與發(fā)布功能可以正常使用, 其他命令一律返回錯(cuò)誤同欠。

AOF 的重寫機(jī)制

為什么需要重寫機(jī)制

AOF 文件通過同步 Redis 服務(wù)器所執(zhí)行的命令样傍, 從而實(shí)現(xiàn)了數(shù)據(jù)庫狀態(tài)的記錄, 但是铺遂, 這種同步方式會(huì)造成一個(gè)問題: 隨著運(yùn)行時(shí)間的流逝衫哥, AOF 文件會(huì)變得越來越大。

  1. 對(duì)同一個(gè)鍵的狀態(tài)的多次不同操作娃循,而最終得到一個(gè)結(jié)果炕檩。比如對(duì)列表的添加刪除元素斗蒋。

  2. 被頻繁操作的鍵捌斧。比如累加

重新機(jī)制是如何實(shí)現(xiàn)的

實(shí)際上, AOF 重寫并不需要對(duì)原有的 AOF 文件進(jìn)行任何寫入和讀取泉沾, 它針對(duì)的是數(shù)據(jù)庫中鍵的當(dāng)前值捞蚂,也就是源數(shù)據(jù)從目前的內(nèi)存中獲取。

考慮這樣一個(gè)情況跷究, 如果服務(wù)器對(duì)鍵 list 執(zhí)行了以下四條命令:

RPUSH list 1 2 3 4      // [1, 2, 3, 4]

RPOP list               // [1, 2, 3]

LPOP list               // [2, 3]

LPUSH list 1            // [1, 2, 3]

那么當(dāng)前列表鍵 list 在數(shù)據(jù)庫中的值就為 [1, 2, 3] 姓迅。

如果我們要保存這個(gè)列表的當(dāng)前狀態(tài), 并且盡量減少所使用的命令數(shù), 那么最簡單的方式不是去 AOF 文件上分析前面執(zhí)行的四條命令丁存, 而是直接讀取 list 鍵在數(shù)據(jù)庫的當(dāng)前值肩杈, 然后用一條 RPUSH 1 2 3 命令來代替前面的四條命令。

除了列表之外解寝,集合扩然、字符串、有序集聋伦、哈希表等鍵也可以用類似的方法來保存狀態(tài)夫偶。

根據(jù)鍵的類型, 使用適當(dāng)?shù)膶懭朊顏碇噩F(xiàn)鍵的當(dāng)前值觉增, 這就是 AOF 重寫的實(shí)現(xiàn)原理兵拢。

基本都步驟

for  遍歷所有數(shù)據(jù)庫:
      if  如果數(shù)據(jù)庫為空:
             那么跳過這個(gè)數(shù)據(jù)庫
      else:
            寫入 SELECT 命令,用于切換數(shù)據(jù)庫
            for  選擇一個(gè)庫后逾礁,遍歷這個(gè)庫的所有鍵
                   if 如果鍵帶有過期時(shí)間说铃,并且已經(jīng)過期,那么跳過這個(gè)鍵
                   if 根據(jù)數(shù)據(jù)的類型嘹履,進(jìn)行相關(guān)操作截汪。

AOF 的重寫機(jī)制

AOF 保存的模式
Redis 目前支持三種 AOF 保存模式,它們分別是:
AOF_FSYNC_NO :不保存植捎。
AOF_FSYNC_EVERYSEC:每一秒鐘保存一次衙解。(生產(chǎn)中一般選這種)
AOF_FSYNC_ALWAYS:每執(zhí)行一個(gè)命令保存一次

BGREWRITEAOF
只保存最終的name的值

image.png

AOF 重寫的實(shí)現(xiàn)方式

方式 區(qū)別
bgrewriteaof 命令 不需要重啟服務(wù),不便于統(tǒng)一管理
配置文件實(shí)現(xiàn) 需要重啟服務(wù)焰枢,便于進(jìn)行統(tǒng)一管理

bgrewriteaof

image

配置文件實(shí)現(xiàn)

image
觸發(fā)條件蚓峦,必須同時(shí)滿足如下條件
image

aof_current_sizeaof_base_size 可以通過命令 info persistence 查看到

info.png

重寫流程圖

重寫流程圖
對(duì)于上圖有四個(gè)關(guān)鍵點(diǎn)補(bǔ)充一下:

一: 在重寫期間,由于主進(jìn)程依然在響應(yīng)命令济锄,為了保證最終備份的完整性暑椰;因此它依然會(huì)寫入舊的AOF file中,如果重寫失敗荐绝,能夠保證數(shù)據(jù)不丟失一汽。當(dāng)然這個(gè)是可以通過配置來決定在重寫期間是否進(jìn)行主進(jìn)程普通的AOF 操作。

二: 為了把重寫期間響應(yīng)的寫入信息也寫入到新的文件中低滩,因此也會(huì)為子進(jìn)程保留一個(gè)buf召夹,防止新寫的file丟失數(shù)據(jù)

三: 重寫是直接把當(dāng)前內(nèi)存的數(shù)據(jù)生成對(duì)應(yīng)命令恕沫,并不需要讀取老的AOF文件進(jìn)行分析监憎、命令合并。

四: AOF文件直接采用的文本協(xié)議婶溯,主要是兼容性好鲸阔、追加方便偷霉、可讀性高可認(rèn)為修改修復(fù)。

注意:無論是RDB還是AOF都是先寫入一個(gè)臨時(shí)文件褐筛,然后通過 rename 完成文件的替換工作类少。

重寫機(jī)制操作實(shí)驗(yàn):

  • 修改/etc/redis/6379.conf 文件

// 要想使用 AOF 的全部功能,需要設(shè)置為 yes
appendonly yes

// AOF 文件名渔扎,路徑才看之前的 dir 配置項(xiàng)
appendfilename "appendonly.aof"
// 平常普通的 AOF 的策略
appendfsync everysec
// 當(dāng)執(zhí)行 AOF 重寫時(shí)瞒滴,是否繼續(xù)執(zhí)行平常普通的 AOF 操作。
// 這里設(shè)置文件 yes , 表示不執(zhí)行
// 因?yàn)榧偃缭蘧瑫r(shí)執(zhí)行妓忍,兩種操作都會(huì)對(duì)磁盤 I/O 進(jìn)行訪問,造成
// I/O 訪問量過大愧旦,產(chǎn)生性能衰減
no-appendfsync-on-rewrite yes
// AOF 文件容量的增長率
auto-aof-rewrite-percentage 100
// AOF 文件的最低容量世剖,就是當(dāng)前文件的大小大于此值時(shí),就會(huì)進(jìn)行重寫笤虫。當(dāng)然這只是其中一個(gè)條件旁瘫。
auto-aof-rewrite-min-size 64mb

image.png
  • 重啟supervisorctl restart redis-6379
  • redis-cli查看配置文件修改后狀態(tài),并進(jìn)行簡單的數(shù)據(jù)添加操作
    redis-cli
  • 查看.aof文件
    cat /var/lib/redis/appendonly-6379.aof
    image.png
  • 主動(dòng)觸發(fā) BGREWRITEAOF
    重寫
  • 再次查看.aof文件琼蚯,與上一次比較


    aof文件

RDB 和 AOF

區(qū)別:
image
如何抉擇:

從服務(wù)器開啟 RDB
始終開啟 AOF
不要使用主機(jī)的全部內(nèi)存

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末酬凳,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子遭庶,更是在濱河造成了極大的恐慌宁仔,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,817評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件峦睡,死亡現(xiàn)場離奇詭異翎苫,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)榨了,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,329評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門煎谍,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人龙屉,你說我怎么就攤上這事呐粘。” “怎么了转捕?”我有些...
    開封第一講書人閱讀 157,354評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵作岖,是天一觀的道長。 經(jīng)常有香客問我瓜富,道長鳍咱,這世上最難降的妖魔是什么降盹? 我笑而不...
    開封第一講書人閱讀 56,498評(píng)論 1 284
  • 正文 為了忘掉前任与柑,我火速辦了婚禮谤辜,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘价捧。我一直安慰自己丑念,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,600評(píng)論 6 386
  • 文/花漫 我一把揭開白布结蟋。 她就那樣靜靜地躺著脯倚,像睡著了一般。 火紅的嫁衣襯著肌膚如雪嵌屎。 梳的紋絲不亂的頭發(fā)上推正,一...
    開封第一講書人閱讀 49,829評(píng)論 1 290
  • 那天,我揣著相機(jī)與錄音宝惰,去河邊找鬼植榕。 笑死,一個(gè)胖子當(dāng)著我的面吹牛尼夺,可吹牛的內(nèi)容都是我干的尊残。 我是一名探鬼主播,決...
    沈念sama閱讀 38,979評(píng)論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼淤堵,長吁一口氣:“原來是場噩夢啊……” “哼寝衫!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起拐邪,我...
    開封第一講書人閱讀 37,722評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤慰毅,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后扎阶,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體事富,經(jīng)...
    沈念sama閱讀 44,189評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,519評(píng)論 2 327
  • 正文 我和宋清朗相戀三年乘陪,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了统台。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,654評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡啡邑,死狀恐怖贱勃,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情谤逼,我是刑警寧澤贵扰,帶...
    沈念sama閱讀 34,329評(píng)論 4 330
  • 正文 年R本政府宣布,位于F島的核電站流部,受9級(jí)特大地震影響戚绕,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜枝冀,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,940評(píng)論 3 313
  • 文/蒙蒙 一舞丛、第九天 我趴在偏房一處隱蔽的房頂上張望耘子。 院中可真熱鬧,春花似錦球切、人聲如沸谷誓。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,762評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽捍歪。三九已至,卻和暖如春鸵钝,著一層夾襖步出監(jiān)牢的瞬間糙臼,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,993評(píng)論 1 266
  • 我被黑心中介騙來泰國打工恩商, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留弓摘,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,382評(píng)論 2 360
  • 正文 我出身青樓痕届,卻偏偏與公主長得像韧献,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子研叫,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,543評(píng)論 2 349

推薦閱讀更多精彩內(nèi)容

  • 1. 持久化存儲(chǔ)的方式介紹 Redis 分別提供了 RDB 和 AOF 兩種持久化機(jī)制: RDB 將數(shù)據(jù)庫的快照(...
    _str_閱讀 739評(píng)論 0 5
  • 在命令行中 supervisorctl status 查看程序狀態(tài)supervisorctl stop redis...
    zxhChex閱讀 224評(píng)論 0 0
  • 一锤窑、Redis高可用概述 在介紹Redis高可用之前,先說明一下在Redis的語境中高可用的含義嚷炉。 我們知道渊啰,在w...
    空語閱讀 1,593評(píng)論 0 2
  • 啟動(dòng)一個(gè)centos容器 安裝epel源 安裝redis 安裝supervisor 修改redis配置文件 注釋這...
    huangstts閱讀 305評(píng)論 0 0
  • 企業(yè)級(jí)redis集群架構(gòu)的特點(diǎn) 海量數(shù)據(jù) 高并發(fā) 高可用 要達(dá)到高可用,持久化是不可減少的申屹,持久化主要是做災(zāi)難恢復(fù)...
    lucode閱讀 2,194評(píng)論 0 7