刚接触Redis数据库,一上机就遇到了问题,Java jedis JedisConnectionException异常,问题出现了以后我尝试在Google、百度和bing搜索过都没有找到解决方法。搜索到的大多数都只是理论性的文章,没看到实质的解决方法,有解决方法的但不适合我的情况。上网找资料的时候虽然没有找到解决方法,但了解了导致JedisConnectionException异常的原因有多种。
可能原因有两种,如下:
- 内在原因:不合理地使用API或者数据结构、CPU饱和、持久化阻塞等
- 外在原因:CPU竞争、内存交换、网络问题等
了解上面可能发生的原因的前提是要知道,Redis数据库是典型的单线程架构,所有读写操作都是在一条主线程中完成的。所以如果出现高并发情况很可能就是这个原因。
以下是我对JedisConnectionException的解决方法:
- redis需要使用配置文件开启方式启动,即如:./redis-server redis.conf;因为如果不使用这方式启动的话,Java jedis操作就可能会出现jedis.exceptions.JedisDataException异常。
- 修改redis.conf文件,在bind 127.0.0.1后面加上Linuxip地址,如下
ok!!!!