亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

redis數據一致性的實現示例

 更新時間:2022年03月18日 10:29:36   作者:潤青  
所謂的redis數據一致性即當進行修改或者保存、刪除之后,redis中的數據也應該進行相應變化,本文主要介紹了redis數據一致性,具有一定的參考價值,感興趣的小伙伴們可以參考一下

前言

所謂的redis數據一致性即當進行修改或者保存、刪除之后,redis中的數據也應該進行相應變化,不然用戶再次查詢的時候很可能查詢出已經刪除過的臟數據。

一、緩存一致的必要性

還是接上篇來說,我們已經解決了redis緩存穿透的問題(簡單解決方案,可以再次優(yōu)化),但是使用redis的時候緩存一致性的問題我們也需要著重考慮,例如:保存了一個新用戶之后,就應該同時在redis緩存中也插入該條數據,更新了某條數據在緩存中也應該同步更新,而redis默認的做法是:當你不去設置的時候redis中存放的一值是你之前存放的數據,只有在重啟服務器的時候數據才會同步,顯然這是非常不可取的,如果是這樣的話豈不是每時每刻都要重啟服務器,那將是多么大的災難!

二、業(yè)務場景

這里我只說一個場景吧,其他場景都是一樣的處理辦法,場景為:假設我們將用戶數據放入到redis中,此時有新用戶注冊,在數據庫中會插入一條新數據,與此同時要在redis中也插入該條數據,以便于下次查詢的時候顯示最新數據。

我們先來看一下默認不使用任何處理的情況下redis是否會為我們做一致性操作,現在我的測試數據庫中有18條用戶數據,此時我們啟動系統后注冊插入第19條數據后看下redis中是否有19條。

經過注冊之后我現在給數據庫中插入了第19條數據

接著我們還是使用上篇提到過的查詢緩存的方法來獲取下所有信息,我們直接來看第最后一條,可以看到最后是潤青而不是十九,所以redis默認是沒有替我們做緩存一致操作的。

三、緩存一致性實現(方案1)

其實,要想實現一致性很簡單,當我們在進行插入操作之后,我們把該條數據取出來同時保存到redis緩存中去,這樣再次查詢緩存的時候我們也可以看到新的數據,代碼如下:

需要注意的是:我這里直接是調用JPA的findAll(),其實更好的做法是根據id去更新剛插入的那一條,這樣效率才高,這里只是演示如何實現,接著再來注冊一條新數據,看看是否可以在緩存中同時看到:新插入的數據id為29,我們來看下緩存是否存在該條新數據

四、redis緩存一致性實現(方案2)

定期清除redis中的數據,例如設置一個定時任務,每當一個小時的時候就會清除redis中的數據,也就是讓redis中的數據失效,然后再次保存、刪除的時候之前的 redis中的數據已經不存在,所以相當于是將數據重新設置到redis中去,所以可以保證數據的一致性。

到此這篇關于redis數據一致性的實現示例的文章就介紹到這了,更多相關redis數據一致性內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Redis主從復制詳解

    Redis主從復制詳解

    今天小編就為大家分享一篇關于Redis主從復制詳解,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-01-01
  • linux?redis-連接命令解讀

    linux?redis-連接命令解讀

    這篇文章主要介紹了linux?redis-連接命令解讀,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-06-06
  • 解析Redis Cluster原理

    解析Redis Cluster原理

    redis最開始使用主從模式做集群,若master宕機需要手動配置slave轉為master;后來為了高可用提出來哨兵模式,該模式下有一個哨兵監(jiān)視master和slave,若master宕機可自動將slave轉為master,但它也有一個問題,就是不能動態(tài)擴充;所以在3.x提出cluster集群模式
    2021-06-06
  • Redis性能監(jiān)控的實現

    Redis性能監(jiān)控的實現

    本文使用 redis_exporter + prometheus +grafana 實現對Redis服務進行監(jiān)控,原因:成本低,人工干預少,感興趣的可以了解一下
    2021-07-07
  • Redis緩沖區(qū)溢出及解決方案分享

    Redis緩沖區(qū)溢出及解決方案分享

    Redis緩沖區(qū)溢出是指Redis緩沖區(qū)被寫入的數據超過了它的容量,導致數據無法存儲或被覆蓋。造成緩沖區(qū)溢出的原因可能是快速寫入大量數據、緩沖區(qū)未及時刷新或Redis服務器配置不當等。
    2023-04-04
  • Redis中Scan命令的基本使用教程

    Redis中Scan命令的基本使用教程

    這篇文章主要給大家介紹了關于Redis中Scan命令的基本使用教程,文中通過示例代碼介紹的非常詳細,對大家學習或者使用Redis具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2019-06-06
  • Redis如何實現分布式鎖

    Redis如何實現分布式鎖

    這篇文章主要介紹了Redis如何實現分布式鎖問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-10-10
  • Mac中Redis服務啟動時錯誤信息:NOAUTH Authentication required

    Mac中Redis服務啟動時錯誤信息:NOAUTH Authentication required

    這篇文章主要介紹了Mac中使用Redis服務啟動時錯誤信息:"NOAUTH Authentication required"問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • redis實現共同好友的思路詳解

    redis實現共同好友的思路詳解

    微信朋友圈大家都玩過吧,那么朋友圈的點贊、評論只能看到自己好友的信息是怎么操作的呢?下面通過本文給大家分享下此功能的實現流程,對redis實現共同好友的方法感興趣的朋友一起看看吧
    2021-05-05
  • Redis集群詳解

    Redis集群詳解

    這篇文章主要介紹了Redis集群詳解,需要的朋友可以參考下
    2020-07-07

最新評論