我们目前有一个读取缓存,当缓存未命中时使用乐观并发控制。我们预计不会有太多冲突,所以选择了乐观并发控制。但是,当我们真正遇到冲突时,我有点不确定该怎么做。
如果缓存未命中,我们从数据库中获取相关行,然后将其放入缓存以供将来参考。在将其放入缓存之前,我们确保缓存键的值自我们最初的数据库读取以来没有更改。如果已更改,我当前倾向于使缓存条目无效,以确保安全,但这似乎有点低效。是否有更好、仍然安全的替代方案?
值得一提的是,我们使用Redis作为缓存层,MySQL作为后端存储。
如果缓存未命中,我们从数据库中获取相关行,然后将其放入缓存以供将来参考。在将其放入缓存之前,我们确保缓存键的值自我们最初的数据库读取以来没有更改。如果已更改,我当前倾向于使缓存条目无效,以确保安全,但这似乎有点低效。是否有更好、仍然安全的替代方案?
值得一提的是,我们使用Redis作为缓存层,MySQL作为后端存储。