今天了一篇面经还没总结完。
其中重点看了一下redis和数据库数据不一致的时候如何解决。
现在主要是用这样的方法:
1.写:先更新数据库数据,再删除redis中的数据
2.读:先读redis缓存中的数据,如果没有再读取数据库针中的数据,然后将数据库中的数据更新到缓存。
其中写时不更新redis,读时再更新redis,是为了防止写频繁的时候系统性能下降过大。但是假如频繁读取已修改的数据,也可能会造成缓存命中率低的问题。
为什么写时要先更新数据库,再删除缓存的。假如先改缓存,但是没有到数据库上,读取的时候先读缓存。会出现(这个好复杂,先跳过)