我想用redis作为mysql的缓存,主要思路是:
询问
从 redis 读取
如果不存在,则从mysql中读取,并添加到redis缓存中
添加
- 直接写入mysql
更新&删除
- 写入mysql
- 使redis的缓存失效
我的问题是:如何使缓存无效?
我知道我可以删除它,或者设置过期时间,这是通常的方式,还是有任何标准方法可以使缓存失效?
谢谢!
我想用redis作为mysql的缓存,主要思路是:
询问
从 redis 读取
如果不存在,则从mysql中读取,并添加到redis缓存中
添加
更新&删除
我的问题是:如何使缓存无效?
我知道我可以删除它,或者设置过期时间,这是通常的方式,还是有任何标准方法可以使缓存失效?
谢谢!
您需要一个触发器来告诉 redis mysql 数据已更新。
这可以是您代码的一部分,每当您将数据保存到 mysql 时,您也会使 redis 缓存无效。
您可以使用http://debezium.io/之类的流来捕获数据库中的更改,并采取必要的操作,例如使缓存无效。