[發明專利]一種緩存二次淘汰保障數據一致性的方法及其系統有效
| 申請號: | 202110046339.5 | 申請日: | 2021-01-14 |
| 公開(公告)號: | CN112699325B | 公開(公告)日: | 2022-07-26 |
| 發明(設計)人: | 劉德建;葉偉;陳宏展 | 申請(專利權)人: | 福建天晴在線互動科技有限公司 |
| 主分類號: | G06F16/957 | 分類號: | G06F16/957;G06F16/215;G06F12/0804;G06F9/54 |
| 代理公司: | 福州旭辰知識產權代理事務所(普通合伙) 35233 | 代理人: | 程勇 |
| 地址: | 350212 福*** | 國省代碼: | 福建;35 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 緩存 二次 淘汰 保障 數據一致性 方法 及其 系統 | ||
1.一種緩存二次淘汰保障數據一致性的方法,其特征在于:所述方法包括如下步驟:
步驟S1、設置主數據庫和從數據庫進行數據同步的最大延遲時間,并將最大延遲時間存入redis緩存;
步驟S2、寫請求訪問業務接口,訪問主數據庫修改數據,清理redis緩存,即第一次淘汰redis數據緩存;
步驟S3、發送二次淘汰redis緩存命令至消息隊列,根據最大延遲時間進行redis緩存二次淘汰;所述步驟S3進一步具體為:發送消息數據到rabbitmq消息隊列服務,另起一個線程,監聽消息隊列的消息,收到消息隊列數據從redis緩存讀取最大延遲時間,根據最大延遲時間進行redis緩存二次淘汰,重新清理redis緩存;以此解決在主數據庫和從數據庫同步時延內出現第一次淘汰緩存后,在讀請求訪問從數據庫時,主數據庫還未把最新數據同步到從數據庫,這時讀請求從從數據庫中讀取到的非主數據庫的最新數據,且將非主數據庫的最新數據存入redis緩存,導致數據不一致;
步驟S4、讀請求訪問業務接口,讀取redis緩存,獲取業務數據,存在則返回數據;不存在則讀取從數據庫,最新數據存入redis緩存。
2.根據權利要求1所述的一種緩存二次淘汰保障數據一致性的方法,其特征在于:所述步驟S1進一步具體為:設置一定時任務,該定時任務為選取主數據庫和從數據庫中一張表,目的是為了預估主數據庫和從數據庫進行數據同步的延遲上限,設置一預設時間對比一次延遲,從多次對比中存儲最大的延遲上限作為最大延遲時間存入redis緩存。
3.根據權利要求1所述的一種緩存二次淘汰保障數據一致性的方法,其特征在于:所述步驟S2進一步具體為:寫請求訪問業務接口,業務接口接收到增加、刪除、修改請求,增加、刪除、修改都是更改數據的寫請求,寫請求一律鏈接主數據庫操作,清理緩存的redis緩存數據,即第一次淘汰redis數據緩存。
4.一種緩存二次淘汰保障數據一致性的系統,其特征在于:所述系統包括如下模塊:設置最大延遲模塊、第一次淘汰模塊、第二次淘汰模塊、以及讀請求處理模塊;
所述設置最大延遲模塊,用于設置主數據庫和從數據庫進行數據同步的最大延遲時間,并將最大延遲時間存入redis緩存;
所述第一次淘汰模塊,用于寫請求訪問業務接口,訪問主數據庫修改數據,清理redis緩存,即第一次淘汰redis數據緩存;
所述第二次淘汰模塊,用于發送二次淘汰redis緩存命令至消息隊列,根據最大延遲時間進行redis緩存二次淘汰;所述第二次淘汰模塊的實現方式進一步具體為:發送消息數據到rabbitmq消息隊列服務,另起一個線程,監聽消息隊列的消息,收到消息隊列數據從redis緩存讀取最大延遲時間,根據最大延遲時間進行redis緩存二次淘汰,重新清理redis緩存;以此解決在主數據庫和從數據庫同步時延內出現第一次淘汰緩存后,在讀請求訪問從數據庫時,主數據庫還未把最新數據同步到從數據庫,這時讀請求從從數據庫中讀取到的非主數據庫的最新數據,且將非主數據庫的最新數據存入redis緩存,導致數據不一致;
所述讀請求處理模塊,用于讀請求訪問業務接口,讀取redis緩存,獲取業務數據,存在則返回數據;不存在則讀取從數據庫,最新數據存入redis緩存。
5.根據權利要求4所述的一種緩存二次淘汰保障數據一致性的系統,其特征在于:所述設置最大延遲模塊的實現方式進一步具體為:設置一定時任務,該定時任務為選取主數據庫和從數據庫中一張表,目的是為了預估主數據庫和從數據庫進行數據同步的延遲上限,設置一預設時間對比一次延遲,從多次對比中存儲最大的延遲上限作為最大延遲時間存入redis緩存。
6.根據權利要求4所述的一種緩存二次淘汰保障數據一致性的系統,其特征在于:所述第一次淘汰模塊的實現方式進一步具體為:寫請求訪問業務接口,業務接口接收到增加、刪除、修改請求,增加、刪除、修改都是更改數據的寫請求,寫請求一律鏈接主數據庫操作,清理緩存的redis緩存數據,即第一次淘汰redis數據緩存。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于福建天晴在線互動科技有限公司,未經福建天晴在線互動科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202110046339.5/1.html,轉載請聲明來源鉆瓜專利網。





