缓存一致性
...大约 1 分钟
缓存一致性
缓存数据的一致性是什么?常用的方式有哪些?
缓存数据一致性指的是在使用缓存系统时,保证缓存数据一后端数据的一致性。当后端数据发生变化时,缓存数据也应该相应地进行更新,以确保用户获取到的数据是最新的。
主要有以下几种方式:
- 缓存-穿透:当缓存中不存在需要的数据时,请求直接访问后端数据库,获取数据并写入缓存,从而保证缓存与数据库的一致性
- 缓存-更新:当后端数据发生变化时,即使更新缓存中对应的数据。可以通过订阅后端数据变更的消息队列或者在数据库更新操作完成后,同步更新缓存
- 缓存-过期:设置缓存数据的过期时间,当数据过期时,再次访问时会触发后端数据的查询和缓存更新操作,从而保证数据的一致性
- 缓存-失效:当后端数据发生变化时,主动使缓存失效,可以通过发布消息或者调用缓存系统提供的接口,清除对应的缓存数据
- 读写锁:使用读写锁来保证在更新缓存时,其他并发请求不能读取旧的缓存数据,以避免脏读问题