前两天项目上线的时候遇到了redis的一个问题,在测试环境的时候项目运行正常,项目一上线redis便开始抛异常。

redis.clients.jedis.exceptions.JedisConnectionException: Could not get a resource from the pool at
Caused by: java.util.NoSuchElementException: Unable to validate object at


看日志发现是池的连接不够,但是项目的调用量完全在预算之内。网上说有RDB持久化的问题,也有说是配置了 redisTestOnBorrow导致检查的时候连接不通过。但是经过排查都不是。后来去业务代码中去寻找问题、
发现这段代码public boolean remove(final String key) { try {
    final byte[] rawKey = SerializerUtil.rawKey(key);
if (!this.containsKey(key)) {
return true;
}
Long size = (Long) this.redisTemplate.execute(
new RedisCallback<Object> () {
public Object doInRedis(RedisConnection connection) {
connection.select(chooseDb(key));
Long size = connection.del(rawKey);
return size;
}
}, true);
return size > 0 ? true : false;
} catch (Exception e) {
LOGGER.error(ERROR_MESSAGE, e);
throw new CacheException(ServiceConstants.SERVICE_SYSTEM_FALIURE, e);
}
}
请看标红处,每次都会选择到对应的redis库,因为测试环境的redis数据库是单机的,线上的事分布式的数据库,而且我们是Twemproxy,用一致性Hash算法,所以每次切数据库去找的时候就会找不到连接
这里把问题记录下来,大家以后在排查问题的时候一定要把异常与业务相结合,这样才能找到自己的真正问题。

redis异常Redis:java.util.NoSuchElementException: Unable to validate object at的更多相关文章

  1. 解决:Redis:java.util.NoSuchElementException: Unable to validate object at

    在Java使用Redis的过程中遇见了一个问题, redis.clients.jedis.exceptions.JedisConnectionException: Could not get a re ...

  2. Spring整合Redis时报错:java.util.NoSuchElementException: Unable to validate object

    我在Spring整合Redis时报错,我是犯了一个很低级的错误! 我设置了Redis的访问密码,在Spring的配置文件却没有配置密码这一项,配置上密码后,终于不报错了!

  3. 善待Redis里的数据--Unable to validate object

    又是一篇关于姿势的文章,为什么是”又”呢?因为上个星期刚写完一篇关于Apache Commons Pool的正确使用姿势的文章,点击此处阅读. Redis为我们提供便利的同时,我们也要善待里面的数据 ...

  4. maven项目新检出后不编译爬坑记 及 mvn clean package报错 WagonTransporterFactory: java.util.NoSuchElementException 异常【我】

    从SVN新检出一个maven项目,配置好后,发现项目无法编译(只有一个test包中的代码显示编译报错,其他所有包中的代码都不编译,也不报错), 先注释掉报错的test包中的所有内容, 用Eclipse ...

  5. Java学习笔记之Scanner报错java.util.NoSuchElementException

    转载自:IT学习者-螃蟹 一个方法A使用了Scanner,在里面把它关闭了.然后又在方法B里调用方法A之后就不能再用Scanner了Scanner in = new Scanner(System.in ...

  6. java.util.NoSuchElementException

    问题引入 Java商店作业不同函数里需要获取用户输入,用Scanner的时候,出现了异常java.util.NoSuchElementException 作业中代码模式如下,func1和func2中都 ...

  7. java.util.NoSuchElementException错误原因及解决方案

    1.原因:没有控制语句导致的迭代器的越界,使得map中的数据无法传入reduce,从而无法把结果传入目标文件中. 在进行Mapreduce实例——WordCount实验时遇到的错误,开始以为是lib包 ...

  8. 【spring data jpa】启动报错:nested exception is java.util.NoSuchElementException

    spring boot项目中 使用spring data jpa 启动报错: org.springframework.beans.factory.UnsatisfiedDependencyExcept ...

  9. Java标准输入流system.in报错: java.util.NoSuchElementException解决方法

    我的程序大概是这样的: main()主函数里面,调用两个自定义的方法,这里我们称之为方法a和方法b: 主函数main()里有一个:Scanner scanner = new Scanner(Syste ...

随机推荐

  1. Uncaught (in promise) DOMException: Failed to execute 'open' on 'XMLHttpRequest': Invalid URL

    解决方案:url前面一定要加http://

  2. Redis数据结构深入解析

  3. JVM总结-Java语法糖与Java编译器

    自动装箱与自动拆箱 首先要提到的便是 Java 的自动装箱(auto-boxing)和自动拆箱(auto-unboxing). 我们知道,Java 语言拥有 8 个基本类型,每个基本类型都有对应的包装 ...

  4. python学习之----Lambda表达式

    Lambda 表达式本质上就是一个函数,可以作为其他函数的变量使用:也就是说,一个函 数不是定义成f(x, y),而是定义成f(g(x), y),或f(g(x), h(x)) 的形式. Beautif ...

  5. 【Fiddler学习】Fiddler简介和Web抓包应用(转)

    一.Fiddler是什么? Fiddler是一个http协议调试代理工具,它能够记录并检查所有你的电脑和互联网之间的http通讯,设置断点,查看所有的进出Fiddler的数据. Fiddler 要比其 ...

  6. PHPutf-8转码。

    $str = 'jiaoqing.': echo mb_convert_encoding($str,"gbk","utf-8");

  7. 转载:基于HALCON的模板匹配方法总结

    转载链接:     http://blog.csdn.net/b108074013/article/details/37657801 很早就想总结一下前段时间学习HALCON的心得,但由于其他的事情总 ...

  8. Python基础7 面向对象编程进阶

    本节内容: 面向对象高级语法部分 经典类vs新式类 静态方法.类方法.属性方法 类的特殊方法 反射 异常处理 Socket开发基础 作业:开发一个支持多用户在线的FTP程序 面向对象高级语法部分 经典 ...

  9. vue语法小练习

    实现功能:新增/删除 学生 <html> <head> <script src="https://cdn.staticfile.org/vue/2.2.2/vu ...

  10. MySQL 5.7 以上版本默认禁止 0000-00-00 的日期

    今天做数据同步,发现一直有报错,集中在时间的默认值.数据源的mysql版本是5.5.30,有些时间字段默认值设置为0000-00-00 00:00:00.目标mysql版本为5.7.17,查资料发现, ...