仰望天花板 2022-08-03 11:27 采纳率: 54.5%
浏览 30
已结题

关于redis在业务中的应用问题,如何解决?

想用redis进行记录文章浏览量,一共定义了两个key,第一个key是当前用户ip,如果当前用户五分钟内重复访问只计算一次浏览量,第二个key是文章ip,value是用户浏览量,之后设置定时任务异步去更新缓存到数据库,
但是定时任务更新的时候会删除大量的缓存,那就有可能造成缓存雪崩,如果更新之后不删除key,那redis缓存满了就会淘汰数据,由于为了页面的浏览量实时显示,浏览量是从redis中取得,在redis缓存的浏览量定时更新删除key之后由于查询不到会报错,如果从数据库查询数据会不及时,我需要怎么做才能让这些变得合理一些。

希望可以得到一个思路,谢谢

  • 写回答

1条回答 默认 最新

  • 技术老梁 2022-08-03 11:39
    关注

    这种业务模式建议用flink来做短时间内的统计,比如分钟级,然后把累计结果更新到redis,以供前端查询使用。
    至于更新数据库,建议走MQ,移步慢慢更新,控制下并发量,以免对数据库造成大的影响

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 10月20日
  • 已采纳回答 10月12日
  • 创建了问题 8月3日