如何解決Redis 和MySQL的資料不一致

2021-10-05 07:35:30 字數 306 閱讀 7699

redis在啟動之後,從資料庫載入資料。

在處理讀請求時:

不要求強一致性的讀請求,直接從redis中讀取,要求強一致性的直接從mysql讀取。

在處理寫請求時:

將資料首先都寫到資料庫,之後再更新到redis(如果先寫redis再寫mysql,寫入失敗事務回滾會造成redis中存在髒資料)。

mysql資料庫處理實時性資料較好,例如金融資料、交易資料。

redis處理實時性要求不高的資料較好,例如**最熱貼排行榜、好友列表等。

問題:當更新資料時,如更新某商品

如何解決mysql死鎖

見官方文件 可直接在mysql命令列執行 show engine innodb status g 檢視造成死鎖的sql語句,分析索引情況,然後優化sql 然後show processlist kill processid 另外可以開啟慢查詢日誌,linux下開啟需在my.cnf的 mysqld 裡面...

Spring Boot如何解決Mysql斷連問題

spring.datasource.url jdbc mysql localhost test spring.datasource.username dbuser spring.datasource.password dbpass spring.datasource.driver class nam...

如何解決MySql的Table is full問題

最近使用mysql的memory引擎時,出現了 table is full的異常。解決辦法是修改max heap table size引數,改大以足夠容納表的大小,比如512m。在my.cnf中增加 max heap table size 512m 重啟mysql即可。btw,如果是myisam引擎...