第一次使用异步队列超时

goodboyQAQ 2018-01-31 10:12:32
我是nginx转发+tomcat
评论系统 问题出在点赞+被点赞提醒功能
提醒功能是用redis做的异步队列 处理时再将提醒消息添加到mysql

点赞会取消踩,还会提醒被点赞的人
点赞时:点赞关系存入redis
提醒消息存入mysql
踩关系更新redis

然后我发现连续给不同的人点赞,到第四个的时候就必定连接超时,
打了个断点发现就在第四次踩关系更新操作失败了
怀疑是redis的问题
重启tomcat才能重新使用

...全文
222 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
goodboyQAQ 2018-02-01
  • 打赏
  • 举报
回复
发现问题是从jedisPool获取的连接需要手动关闭,前面我跟着写了close(),后面没写
goodboyQAQ 2018-02-01
  • 打赏
  • 举报
回复
启动redis-service 0(连接数)
启动了一个redis-cli 1
启动tomcat 2
打开评论页面(有调用点赞关系) 3
第一次点赞操作(更新点赞关系+添加到消息提醒队列) 4 (这里怎么不是5)
第二次 6(每次操作多连个连接)
第三次 8
第四次 9 就卡住了,重新加载这个页面也不行了,只能重启tomcat

日志信息
redis_version:2.4.5
redis_git_sha1:00000000
redis_git_dirty:0
arch_bits:64
multiplexing_api:winsock2
process_id:18748
uptime_in_seconds:657
uptime_in_days:0
lru_clock:750100
used_cpu_sys:0.23
used_cpu_user:0.17
used_cpu_sys_children:0.00
used_cpu_user_children:0.00
connected_clients:9
connected_slaves:0
client_longest_output_list:0
client_biggest_input_buf:0
blocked_clients:0
used_memory:1261480
used_memory_human:1.20M
used_memory_rss:1261480
used_memory_peak:1261432
used_memory_peak_human:1.20M
mem_fragmentation_ratio:1.00
mem_allocator:libc
loading:0
aof_enabled:0
changes_since_last_save:4
bgsave_in_progress:0
last_save_time:1517449788
bgrewriteaof_in_progress:0
total_connections_received:9
total_commands_processed:397
expired_keys:0
evicted_keys:0
keyspace_hits:68
keyspace_misses:326
pubsub_channels:0
pubsub_patterns:0
latest_fork_usec:0
vm_enabled:0
role:master
db0:keys=53,expires=0
oyljerry 2018-01-31
  • 打赏
  • 举报
回复
看看redis日志,具体错误信息是什么

81,092

社区成员

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

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