站長資訊網
        最全最豐富的資訊網站

        redis如何保證數據一致性

        現在redis在互聯中有大量的使用,根據業務的不同,其使用上也有所不同,但一般都有數據存儲和緩存的一致性問題,下面就給大家介紹幾個比較成熟實用的方案。

        redis如何保證數據一致性

        方式1:

        數據庫保存數據,redis不persist redis啟動后,從數據庫加載數據 不要求強一致實時性的讀請求,都由redis處理 要求強一致實時性的讀請求,由數據庫處理 寫請求有2種處理方式,由數據庫處理 (推薦學習:Redis視頻教程)

        應用先寫道數據庫,然后更新redis

        應用先寫道數據庫,然后其它daemon同步到redis

        優點:redis啟動不用處理redis數據和數據庫不一致

        缺點:redis啟動給數據庫很大的讀壓力

        方式2:

        數據庫和redis分別處理不同的數據類型,數據庫處理要求強一致實時性的數據,例如金融數據、交易數據;Redis處理不要求強一致實時性的數據,例如網站最熱貼排行榜

        redis和MySQL數據的同步,代碼級別大致可以這樣做: 讀: 讀redis->沒有,讀mysql->把mysql數據寫回redis 寫: 寫mysql->成功,寫redis

        并發不高的情況: 讀: 讀redis->沒有,讀mysql->把mysql數據寫回redis,有的話直接從redis中取; 寫: 寫mysql->成功,再寫redis;

        并發高的情況: 讀: 讀redis->沒有,讀mysql->把mysql數據寫回redis,有的話直接從redis中取; 寫:異步話,先寫入redis的緩存,就直接返回;定期或特定動作將數據保存到mysql,可以做到多次更新,一次保存;

        –備注:如果寫redis要使用redis的事務:

        127.0.0.1:6379> WATCH id OK 127.0.0.1:6379> MULTI OK 127.0.0.1:6379> INCR id QUEUED 127.0.0.1:6379> EXEC 1) (integer) 342183 127.0.0.1:6379>

        方式3:

        使用lua腳本:redis在使用lua使用同時只允許一個腳本執行,符合事務的原子性,但一個lua腳本不能執行時間過大,不然會阻塞

        EVAL

        EVAL命令對 Lua 腳本進行執行求值。

        語法:

        EVAL script numkeys key [key …] arg [arg …]
        script lua腳本內容 注意的是腳本不應該是Lua函數。 numkeys 表示指定鍵名參數的個數。 key [key ...] 表示腳本對應的key值列表 在腳本中可以使用KEYS[1] KEYS[2] KEYS[3]KEYS[n] n從1開始 。 arg [arg ...] 命名行中傳遞的參數列表 在腳本中可以使用ARGV[1] ARGV[2] ARGV[3]ARGV[n] n從1開始 。

        一個示例勝過千言萬語的解釋

        eval "return {KEYS[1],KEYS[2],ARGV[1],ARGV[2]}" 2 id name 3 mytest

        執行上面腳本返回

        1) "id"2) "name" 3) "2" 4) "mytest"

        贊(0)
        分享到: 更多 (0)
        網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
        主站蜘蛛池模板: 久久精品无码免费不卡| 日本精品夜色视频一区二区| 国产精品亚洲高清一区二区| 人妻精品久久无码区| 精品国产三级a乌鸦在线观看| 国产精品1区2区3区在线播放| 亚洲精品~无码抽插| 久久这里有精品视频| 国产精品成人久久久久久久| 国产精品岛国久久久久| 精品无码日韩一区二区三区不卡| 亚洲国产精品日韩专区AV| 国产精品美女久久久久av爽 | 成人精品一区二区久久| 国产精品久久永久免费| 99在线精品视频观看免费| 久久精品国产亚洲AV嫖农村妇女| 亚洲无码日韩精品第一页| 无翼乌无遮挡全彩老师挤奶爱爱帝国综合社区精品 | 亚洲精品无码不卡在线播放HE| 免费精品精品国产欧美在线| 国产精品小黄鸭一区二区三区| 午夜精品视频在线| 国产在视频线精品视频二代| 99在线热播精品免费99热| 精品熟女少妇av免费久久| 欧洲精品99毛片免费高清观看| 亚洲精品蜜桃久久久久久| 亚洲日韩国产精品乱| 亚洲精品无码永久在线观看| 天天爽夜夜爽8888视频精品| 午夜精品久久久内射近拍高清| 亚洲AV无码成人精品区大在线| 亚洲国产精品无码久久九九| 亚洲人成国产精品无码| 无码国内精品久久人妻蜜桃| 久久综合精品国产二区无码 | 久久国产精品免费一区| 久久青青草原精品国产不卡| 久久久久亚洲精品中文字幕| 亚洲а∨天堂久久精品|