2.1、延时双删策略
在写库前后都进行redis.del(key)操作,并且设定合理的超时时间。
在写库前后都进行redis.del(key)操作,并且设定合理的超时时间。
则在读数据业务逻辑的耗时基础上,加几百ms即可。
2.2、异步更新缓存(基于Mysql binlog的同步机制)
2.2.1、整体思路
1、涉及到更新的数据操作,利用Mysql binlog 进行增量订阅消费
2、将消息发送到消息队列
3、通过消息队列消费将增量数据更新到Redis上
更新Redis数据:Mysql的数据操作都记录到binlog,通过消息队列及时更新到Redis上
读取binlog后分析 ,利用消息队列,推送更新各台的redis缓存数据。
1、这样一旦MySQL中产生了新的写入、更新、删除等操作,就可以把binlog相关的消息推送至Redis
2、Redis再根据binlog中的记录,对Redis进行更新