仰望天花板 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日

悬赏问题

  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd
  • ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
  • ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)
  • ¥15 Windows11, backspace, enter, space键失灵