活動中用到了Redis來存放用戶的獎勵票信息,原則上是一天一清,現(xiàn)在設(shè)置的是
expireAt(零點)
但是最近運營反饋有部分用戶有異常票,經(jīng)過加log排查后發(fā)現(xiàn)指定在零點過期的key并沒有準(zhǔn)時過期,從庫中在0點23秒的時候還能讀到數(shù)據(jù),程序中用了簡單的exists(key) 判斷key是否存在,存在就取值。
這么想可能是主庫在零點過期了,但是沒有及時同步到從庫。在網(wǎng)上一看,有用戶遇到同樣的情況,Redis版本3。2之前的會存在這種情況,然后查看了一下我們的redis版本,發(fā)現(xiàn)是3.0 這也就難怪了,應(yīng)該是遇到一樣的情況了;
所以解決方案是在exists(key) 判斷的同時加上對key 生存時間ttl的判斷,如果ttl是0就不取 了。
實驗:
然后我們實測了一下,現(xiàn)在主庫設(shè)置一個key的過期時間,然后在過期時間前后去讀從庫,發(fā)現(xiàn)直接從從庫讀取過期key的時候確實會有延遲,5到7秒不等。但是我們讀主庫,基本無延遲,到點就讀不到了。
總結(jié):對于3.2之前的版本Redis會存在主從過期key同步失效的延時
相關(guān)鏈接:https://www.cnblogs.com/bridger/archive/2012/11/07/2758734.html
https://blog.csdn.net/u012538947/article/details/52540313
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。
分享名稱:REDIS主從架構(gòu)key過期時間失效問題-創(chuàng)新互聯(lián)
當(dāng)前鏈接:http://m.rwnh.cn/article14/djigge.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制開發(fā)、小程序開發(fā)、面包屑導(dǎo)航、品牌網(wǎng)站建設(shè)、網(wǎng)站設(shè)計、網(wǎng)站維護
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容