Redis缓存点赞数,刷新页面后数据不一致,如何解决?

redis缓存点赞数,刷新页面后数据不一致,如何解决?

Redis 缓存逻辑的困惑?

在构建一个博客系统时,如何利用 Redis 来记录点赞数和用户点赞状态存在一些疑问。

对于 A 用户的点赞操作,如果仅存储在 Redis 中,当用户刷新页面时,后端的 MySQL 查询却没有同步到 Redis 的点赞信息。此时是否需要循环 MySQL 查询结果并与 Redis 中的点赞状态匹配?并将 MySQL 中的点赞总数与 Redis 中的点赞总数相加后再返回给前端?

答案:对 Redis 的理解有误

Redis 并非数据源,而是缓存机制。其作用是加速数据读取,而不是同步数据到数据库。

正确的做法:Cache Aside

在 Cache Aside 架构中,数据更新遵循以下步骤:

  • 读取数据时:

    • 先查询 Redis 缓存。
    • 有则直接返回。
    • 无则查询 MySQL 并将结果写入 Redis,然后返回。
  • 写入数据时:

以上就是Redis缓存点赞数,刷新页面后数据不一致,如何解决?的详细内容,更多请关注其它相关文章!