帮忙分析下问题所在,且有什么优化解决方式?

黄咾邪 2020-08-10 11:22:49
问题:系统接收车况数据,先存在redis中;其次通过定时任务(2分钟)查询获取redis数据进行逻辑处理插入mysql;redis不定时挂掉,客户总是反馈推送失败;最后查询redis中还存在32w条数据,奔溃了都;

求大佬指导,有没有什么方法优化这块问题?
...全文
4833 12 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
临世驻年 2020-10-10
  • 打赏
  • 举报
回复
先看日志为什么挂掉 根据原因去解决
kimsung 2020-10-07
  • 打赏
  • 举报
回复
首先个人觉得直接存到redis不是很好的设计。。 应该先存到RDB,然后再存到redis,查询时先查redis,没命中再查mysql,更新到redis的步骤。往往性能都是出现在RDB的查询中。 另外你说redis数据比较多,有没有给redis上的数据设置expire。 还有找redis为什么要挂掉的原因, 如果真的业务需要存大量数据可以考虑redis的cluster。。
抓bug的猫 2020-10-06
  • 打赏
  • 举报
回复
redis缓存淘汰策越:
volatile-lru:从设置了过期时间数据中挑选不常使用的,进行删除操作,对于没有设置过期时间的则不进行淘汰
volatile-ttl:除了淘汰机制采用LRU,策略基本上与volatile-lru相似,从设置过期时间的数据集中挑选将要过期的数据淘汰,ttl值越大越优先被淘汰


可以试试看
kathy_koo 2020-08-12
  • 打赏
  • 举报
回复
这个不应该用mq吗?
maradona1984 2020-08-12
  • 打赏
  • 举报
回复
这个场景就是消费者速度过慢,完全不需要使用定时任务啊,直接弄个线程池轮询,redis数据结构队列模式即可
明白畅达 2020-08-11
  • 打赏
  • 举报
回复
引用 4 楼 黄咾邪 的回复:
[quote=引用 1 楼 pinoco 的回复:]布redis集群不知道可不可行
目前redis就是集群的[/quote]哨兵模式,主从服务器自动切换,不至于说redis挂掉,导致推送失败吧
黄咾邪 2020-08-11
  • 打赏
  • 举报
回复
引用 1 楼 pinoco 的回复:
布redis集群不知道可不可行
目前redis就是集群的
ITjavaman 2020-08-11
  • 打赏
  • 举报
回复
性能不够机器来凑 加机器加机器
游北亮 2020-08-11
  • 打赏
  • 举报
回复
看系统日志,Redis的崩溃原因是什么? 估计内存占用过高导致
明白畅达 2020-08-11
  • 打赏
  • 举报
回复
布redis集群不知道可不可行
孤独的海啊 2020-08-11
  • 打赏
  • 举报
回复
引用 楼主 黄咾邪 的回复:
问题:系统接收车况数据,先存在redis中;其次通过定时任务(2分钟)查询获取redis数据进行逻辑处理插入mysql;redis不定时挂掉,客户总是反馈推送失败;最后查询redis中还存在32w条数据,奔溃了都; 求大佬指导,有没有什么方法优化这块问题?
为森么不落库啊?redis就很香吗。我觉得redis用错了。
RockeyCui 2020-08-11
  • 打赏
  • 举报
回复
先确认一下 redis 为什么无故挂掉。用上集群了,看一下 redis 的 key 是不是分布不均匀?机器配置怎么样,不是很好的话,入库后及时把不用的 key 删除。或者考虑用队列的方式处理入库逻辑,没有别的队列,redis 也可以做队列,入 redis5.0 新增的 stream 数据类型。

62,634

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧