Redis 和 Mysql 数据库数据如何保持一致性

在写库前后都进行redis.del(key)操作,并且设定合理的超时时间。具体步骤是:

        1)先删除缓存

        2)再写数据库

        3)休眠500毫秒(根据具体的业务时间来定)

        4)再次删除缓存。

        那么,这个500毫秒怎么确定的,具体该休眠多久呢?

        需要评估自己的项目的读数据业务逻辑的耗时。这么做的目的,就是确保读请求结束,写请求可以删除读请求造成的缓存脏数据。

        当然,这种策略还要考虑 redis 和数据库主从同步的耗时。最后的写数据的休眠时间:则在读数据业务逻辑的耗时的基础上,加上几百ms即可。比如:休眠1秒。

https://www.jianshu.com/p/2edbb48604bd

posted @ 2019-10-25 15:45  灵丶诚  阅读(2239)  评论(0编辑  收藏  举报