经过: 项目上线后经常报 Unexpected end of stream.; nested exception is redis.clients.jedis.exceptions.JedisConnectionException: Unexpected end of stream. 白天平均半个小时报一次,晚上频率低些,但是在测试环境和预发环境就没有出现过这种问题. 当时我们项目是从公司的另一个项目拆分出来的,所有配置和另一个环境基本一样 分析: JedisConnectionExceptio…
问题过程 输入法业务于12月12日上线了词库接受业务,对部分用户根据用户uuid判断进行回传,在12月17日早上8点多开始出现大量的php报错(Redis went away),报错导致了大量的链接积累,瞬间服务器的80端口堆积到了2w多导致了接受计费日志的接口全部返回超时,丢失了1小时的结费数据. 报错内容如下: [17-Dec-2018 01:32:51 UTC] PHP Fatal error: Uncaught exception 'RedisException' with messag…
在实际项目中遇到redis读取时报错. 报错是 [ERROR]  redis.clients.jedis.exceptions.JedisConnectionException: Unexpected end of stream. [ERROR]  redis.clients.util.RedisInputStream.ensureFill(RedisInputStream.java:198) [ERROR]  redis.clients.util.RedisInputStream.readBy…
项目背景 最近,做一个按优先级和时间先后排队的需求.用 Redis 的 sorted set 做排队队列. 主要使用的 Redis 命令有, zadd, zcount, zscore, zrange 等. 测试完毕后,发到线上,发现有大量接口请求返回超时熔断(超时时间为3s). Error日志打印的异常堆栈为: redis.clients.jedis.exceptions.JedisConnectionException: Could not get a resource from the po…
之前同事反馈说线上遇到Redis反序列化异常问题,异常如下: XxxClass1 cannot be cast to XxxClass2 已知信息如下: 该异常不是必现的,偶尔才会出现: 出现该异常后重启应用或者过一会就好了: 序列化协议使用了hessian. 因为偶尔出现,首先看了报异常那块业务逻辑是不是有问题,看了一遍也发现什么问题.看了下对应日志,发现是在Redis读超时之后才出现的该异常,因此怀疑redis client操作逻辑那块导致的(公司架构组对redis做了一层封装),发现获取/…
项目中,新增了一个统计功能,用来统计不同手机型号的每天访问pv,看了下redis2.6有个setbit的功能,于是打算尝尝鲜把 redis从2.4更新到了2.6 因为是租了vps.服务器的内存只有4g可以用,最近发现系统 负载很大.发现是redis服务引起的. 查了下redis的key db1 6w+.db1 不到2k.内存监控确有4.5g(这个很奇怪). 这是很不正常的.想了最近在db1加了很多bit.于是把db1 flushdb. 发现内存占用一下就刷刷的降下来了. 查了不少关于reids…
前情提要: 最近接了大数据项目的postgresql运维,刚接过来他们的报表系统就出现高峰期访问不了的问题,报表涉及实时数据和离线数据,离线读pg,实时读redis.然后自然而然就把redis也挪到我们这边优化了 -_-! .在这次优化过程中也是再次深刻感受到redis的各种坑 现象: 大数据报表周末晚上高峰期实时报表打不开,基本上处于不能使用状态,实时报表主要访问redis数据,监控发现Redis CPU占用过高,高峰期2个从库实例的CPU达到100%,由于redis是单进程单线程结构,所以单…
距离上一篇博客,这篇文章的发布大概过了整整三个月.我也从饿了么度过了试用期,成为了正式员工.刚进来恰好遇到项目底层改造和迁移,将项目从angular全部迁移到vue上,所以适应这边的节奏和业务的开发任务.而且这段事件用过mint-ui这个h5的框架,感觉太老了,想自己开发一套ui组件了,所以一直忙呀忙.顺带最近绝地求生比较火,然后也拉了几个小伙伴一起玩了好长时间,所以节奏有点慢了.下面废话不多说了,直接进入主题. 上一篇博客介绍了基础的纯概念,这篇文章纯粹偏技术实践,需要理解一些玩意的.技术介绍…
转自:https://blog.csdn.net/bntx2jsqfehy7/article/details/84207884一.一个新闻 新闻内容如下:php工程师执行redis keys * 导致数据库宕机! 某公司技术部发生2起本年度PO级特大事故,造成公司资金损失400万,原因如下: 由于php工程师直接操作上线redis,执行: keys * wxdb(此处省略)cf8* 这样的命令,导致redis锁住,导致CPU飙升,引起所有支付链路卡住,等十几秒结束后,所有的请求流量全部挤压到了r…
一.在与redis同一个内网的服务器上A的nginx做了下面的设置 stream { upstream redis { server  redis.rds.aliyuncs.com:6379 max_fails=3 fail_timeout=30s; } server { listen 6379; proxy_connect_timeout 1s; proxy_timeout 3s; proxy_pass redis; } } 二.服务器B上通过A:6379 来连接到阿里云的redis 三.re…