Redis & Mysql 读写一致性问题
如果不能正确的处理 redis 和 mysql 的读写逻辑很容易出现脏读,从而导致造成一些不必要的风险,如在插入数据时,先写redis在写DB,如果失败会回滚,此时redis的数据是无效的数据从而造成脏读
读操作
在读取数据时,我们遵守先从redis中读取数据,如果redis不存在,再到DB中去读数据。
插入操作
在向数据库中插入数据时,我们只对数据库进行操作,不对redis进行数据cache。这样就避免了脏数据的cache,而这条记录当进行读操作时会cache进来。
更新操作
在更新操作上面,先对DB进行更新操作,然后设置改记录的redis缓存为无效。
遵循以上的三点能够很好的保证 Redis 和 Mysql 的数据读写一致性问题。