redis中快取的資料與資料庫資料一致性的方案

2021-08-28 01:51:47 字數 748 閱讀 1904

方式1:資料庫儲存資料,redis不persist

redis啟動後,從資料庫載入資料

不要求強一致實時性的讀請求,都由redis處理

要求強一致實時性的讀請求,由資料庫處理

寫請求有2種處理方式,由資料庫處理

- 應用先寫道資料庫,然後更新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作為快取,資料還需要存入資料庫中嗎?我的答案是 1redis只是快取,不是資料庫如mysql,所以redis中有的資料庫,mysql中一定有。2使用者請求先去請求redis,如果沒有,再去資料庫中去讀取。3redis中快取一些請求量比較大的資料 這些快取資料,mysql中一定也是有的 ...

使用redis快取從資料庫中讀取資料

使用redis從資料庫中讀取資料後快取 class myredis return self handler public static function get key return value public static function set key,value return self han...

Redis快取資料庫的安裝與配置 2

1.為php安裝redis客戶端擴充套件 wget tar xf phpredis master.tar.gz c usr src cd usr src phpredis master usr local php bin phpize configure with php config usr lo...