Redis无法获取连接异常

最近搞缓存,所以折腾了一下redis,用jedis连接redis,发现在64位windows下运行一段时间就报错了Accepting client connection: accept: Unknown error, 然后jedis就一直连接超时是服务器停了。重启一下redis就又能连接上了。redis配置的日志级别是debug,也没抛其他错误,看了连接数也就我一个。纠结啊。。。。

2个回答

这个看上去是redis的bug,试试新版本呢。

qq_27407625
qq_27407625 应该是redis的BUG
3 年多之前 回复
qq_27407625
qq_27407625 应该是redis的BUG
3 年多之前 回复
qq_27407625
qq_27407625 应该是redis的Big
3 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
集群redis连接异常
19/04/03 11:28:40 ERROR Executor: Exception in task 0.0 in stage 6.0 (TID 15) redis.clients.jedis.exceptions.JedisConnectionException: Could not get a resource from the pool at redis.clients.util....
Java连接redis异常
场景:我在window 10环境中的ecplise中用Jedis连接存在于虚拟机中的redis数据库。redis中的配置文件大部分为默认设置。 源代码: import redis.clients.jedis.Jedis; public class TestPing { public static void main(String[] args) {
redis连接异常的解决方案
redis连接异常的解决方案 最近在做高并发架构,发现程序偶尔报错: redis.clients.jedis.exceptions.JedisConnectionException: Could not get a resource from the pool at redis.clients.util.Pool.getResource(Pool.java:50) ~[Po
远程连接redis数据库无法获取连接问题
远程连接redis数据库问题 1.错误: Could not get a resource from the pool 问题描述:本地maven远程连接redis数据库,报出: Caused by: redis.clients.jedis.exceptions.JedisException: Could not get a resource from the pool 2.解决方法 查了一下,...
异常处理问题,无法获取异常
[code=SQL]rnDECLARE @cmd NVARCHAR(MAX)rnDECLARE @TargetDir NVARCHAR(MAX)rnrnBEGIN TRY rn SET @TargetDir='L:\DRI'rn SET @cmd='master.dbo.xp_create_subdir N''' + REPLACE(@TargetDir,'''','''''') + ''''rn EXEC(@cmd) rnEND TRY rnBEGIN CATCH rn SELECT ERROR_MESSAGE()rnEND CATCHrnrn[/code]rnrn请教:为什么SELECT ERROR_MESSAGE()无法获取异常信息。
redis无法获得连接池异常
描述:rn系统与storm结合使用,数据量较大,redis读写频繁,maxclients最大时有1150多;rn出现以下异常时,我的系统已做过如下处理,可是问题依然,求大神指点:rn 1、我的redis客户端可以正常连接redis;rn 2、系统中,对于获取不到连接池时,做了销毁该连接池,并重置连接池的处理。rn 3、每次从redis连接池中获得连接,执行完操作,都会将该连接返还给redis连接池。rn
获取redis连接服务
1.先下载redis.clients.jedis.Jedis jar包 import java.util.Set; import redis.clients.jedis.Jedis; public class RedisUtil { private static Jedis jedis;       private static final String PREF
一次诡异的redis连接异常
一、异常出现  启动jar包报异常,异常信息如下,简单分析后初步定位为redis连接异常。 2018-10-23 15:24:00.781 ERROR kmessage [main] [org.springframework.boot.SpringApplication] - Application run failed org.springframework.context.Applic...
jedis 连接redis超时异常
1、redis 部署环境 centos7.0 2、通过jedis 源码调试 出现错误,如下 Exception in thread “main” redis.clients.jedis.exceptions.JedisConnectionException: java.net.SocketTimeoutException: connect timed out
Jedis连接Redis异常的问题
jedis连接Redis异常: Exception in thread "main" redis.clients.jedis.exceptions.JedisConnectionException: java.net.ConnectException: Connection refused: connect at redis.clients.jedis.Connection.connect(Connection.java:154) at redis.clients.jedis.BinaryClient.
Redis非本地连接,连接异常
之前在本地连redis一直都没什么问题,今天把redis服务放到虚拟机上,本地启动测试代码报了连接异常: Exception in thread "main" redis.clients.jedis.exceptions.JedisConnectionException: Could not get a resource from the pool at redis.clients.util.
redis获取异常或者获取不到
异常: org.springframework.data.redis.RedisConnectionFailureException: Cannot get Jedis connection; nested exception is redis.clients.jedis.exceptions.JedisConnectionException: Could not get a resource...
数据库连接异常,无法获得Jdbc连接异常
[img=https://img-bbs.csdn.net/upload/201608/23/1471960335_821575.png][/img][img=https://img-bbs.csdn.net/upload/201608/23/1471960395_503785.png][/img]rn求大神告诉原因以及解决办法,谢谢!
redis用连接池获取连接
import java.util.List; import redis.clients.jedis.Jedis; import redis.clients.jedis.JedisPool; import redis.clients.jedis.JedisPoolConfig; public class Redis { public static void main(String[] ar
Redis 三种获取连接的方式
           有时候,在项目要求查询效率的时候,用户需要在最短的时间查询到想要的数据,这个时候我们就应该在并发量大,数据量大的程序中使用缓存,介绍一下通过Java程序使用缓存的三种方式: 首先在pom.xml 文件中引入依赖: <!--Redis NoSql 依赖--> <dependency> <groupId>org.springfr...
数据库获取连接异常(oracle)
异常 java.sql.SQLException: Listener refused the connection with the following error:rnORA-12505, TNS:listener does not currently know of SID given in connect descriptorrnThe Connection descriptor used by the client was:rnlocalhost:1521:orclrn但是我检查了数据库名和密码以及ip地址和sid都没有找出问题。rn监听器的配置如下:SID_LIST_LISTENER =rn (SID_LIST =rn (SID_DESC =rn (SID_NAME = PLSExtProc)rn (ORACLE_HOME = D:\oracle\product\10.2.0\db_1)rn (PROGRAM = extproc)rn )rn )rnrnLISTENER =rn (DESCRIPTION_LIST =rn (DESCRIPTION =rn (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))rn (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))rn )rn )rntnanames配置如下:rnORCL =rn (DESCRIPTION =rn (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))rn (CONNECT_DATA =rn (SERVER = DEDICATED)rn (SERVICE_NAME = orcl)rn )rn )rnrnEXTPROC_CONNECTION_DATA =rn (DESCRIPTION =rn (ADDRESS_LIST =rn (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))rn )rn (CONNECT_DATA =rn (SID = PLSExtProc)rn (PRESENTATION = RO)rn )rn )rnrn如果哪位能看出问题,请指点下。感激不尽。rn
redis异常
做项目的时候用redis做缓存,但是突然出现了下面这个错误MISCONF Redis is configured to save RDB snapshots,but is currently not able to persist在网上查到可以通过以下操作来解决通过redis-cli连接到服务器后执行config set stop-writes-on-bgsave-error no可以解决问题,但...
Java通过Jedis连接Redis异常,错误记录
紧接上一篇文章,Centos7下Redis安装教程 我用Jedis连接Redis时报错,代码和错误如下图 解决方案: 在redis.conf这个配置文件中,找到bind和protected-mode这两个属性,将其修改。 默认: 修改后: 在vmware中创建centos7虚拟机并安装Redis后,如果以redis.conf配置文件运行的话,只能本机(仅仅是...
idea连接redis异常,eclipse却没问题
今天开发公司的springclould项目,从仓库git下来之后在idea启动的时候报redis连接异常,无法连接,但是把项目导入eclipse启动确是正常的,还请大神赐教: 异常日志: 09:10:43:975 [main] INFO [org.springframework.cloud.netflix.eureka.EurekaDiscoveryClientConfiguration...
SpringMVC 无法获取连接报错
在进行单元测试的时候,发现报错 Could not get JDBC Connection; nested exception is java.sql.SQLException:  jdbc.properties配置文件信息 driver=com.mysql.jdbc.Driver url=jdbc:mysql://127.0.0.1:3306/seckill?useUnicode=true&
JDBC连接mysql无法理解的异常
mysql的jdbc驱动已成功加载,但是在用DriverManager.getConnection()时抛出SQLException:Communication link failure:java.io.IoException,underlying(根本的,潜在的) cause:Unexpected end of input stream.
spring boot整合redis获取异常或者获取不到
系统异常:org.springframework.data.redis.RedisConnecrntionFailureException: Cannot get Jedis connection; nested exception is redis.clients.jedis.exceptions.JedisException: Could not get a resource from the poolrnrn刚启动系统运行正常,过几天就会出现这个异常,以下是关于redise的配置:rn# redis.properties文件中的内容如下:rnredis.hostName=127.0.0.1rnredis.password=rn#端口号 rnredis.port=6379rn#客户端超时时间单位是毫秒 默认是2000 rnredis.timeout=10000 rnrn#最大空闲数 rnredis.maxIdle=300 rn#连接池的最大数据库连接数。设为0表示无限制,如果是jedis 2.4以后用redis.maxTotal rn#redis.maxActive=600 rn#控制一个pool可分配多少个jedis实例,用来替换上面的redis.maxActive,如果是jedis 2.4以后用该属性 rnredis.maxTotal=300rn#最大建立连接等待时间。如果超过此时间将接到异常。设为-1表示无限制。 rnredis.maxWaitMillis=1000 rn#连接的最小空闲时间 默认1800000毫秒(30分钟) rnredis.minEvictableIdleTimeMillis=300000 rn#每次释放连接的最大数目,默认3 rnredis.numTestsPerEvictionRun=1024 rn#逐出扫描的时间间隔(毫秒) 如果为负数,则不运行逐出线程, 默认-1 rnredis.timeBetweenEvictionRunsMillis=30000 rn#是否在从池中取出连接前进行检验,如果检验失败,则从池中去除连接并尝试取出另一个 rnredis.testOnBorrow=true rn#在空闲时检查有效性, 默认false rnredis.testWhileIdle=true rnrn# pom.xml中整合redis内容如下:rn rn org.springframework.bootrn spring-boot-starter-data-redisrn rn rn rn# redisConfig内容如下:rn package com.brons.trans.redis;rnrnimport org.slf4j.Logger;rnimport org.slf4j.LoggerFactory;rnimport org.springframework.beans.factory.annotation.Value;rnimport org.springframework.context.annotation.Bean;rnimport org.springframework.context.annotation.Configuration;rnimport org.springframework.context.annotation.PropertySource;rnimport org.springframework.data.redis.connection.RedisConnectionFactory;rnimport org.springframework.data.redis.connection.jedis.JedisConnectionFactory;rnimport org.springframework.data.redis.core.RedisTemplate;rnimport org.springframework.data.redis.serializer.GenericJackson2JsonRedisSerializer;rnimport org.springframework.data.redis.serializer.StringRedisSerializer;rnrnimport redis.clients.jedis.JedisPoolConfig;rnrn@Configurationrn@PropertySource("classpath:redis.properties")rnpublic class RedisConfig rnrn Logger logger = LoggerFactory.getLogger(RedisConfig.class);rn @Value("$redis.hostName")rn private String hostName;rnrn @Value("$redis.port")rn private Integer port;rnrn @Value("$redis.password")rn private String password;rnrn @Value("$redis.timeout")rn private Integer timeout;rnrn @Value("$redis.maxIdle")rn private Integer maxIdle;rnrn @Value("$redis.maxTotal")rn private Integer maxTotal;rnrn @Value("$redis.maxWaitMillis")rn private Integer maxWaitMillis;rnrn @Value("$redis.minEvictableIdleTimeMillis")rn private Integer minEvictableIdleTimeMillis;rnrn @Value("$redis.numTestsPerEvictionRun")rn private Integer numTestsPerEvictionRun;rnrn @Value("$redis.timeBetweenEvictionRunsMillis")rn private long timeBetweenEvictionRunsMillis;rnrn @Value("$redis.testOnBorrow")rn private boolean testOnBorrow;rnrn @Value("$redis.testWhileIdle")rn private boolean testWhileIdle;rnrn // @Value("$spring.redis.cluster.nodes")rn // private String clusterNodes;rn //rn // @Value("$spring.redis.cluster.max-redirects")rn // private Integer mmaxRedirectsac;rnrn /**rn * JedisPoolConfig 连接池rn * rn * @returnrn */rn @Beanrn public JedisPoolConfig jedisPoolConfig() rn logger.info("初始化RedisConfig.JedisPoolConfig 连接池====");rn JedisPoolConfig jedisPoolConfig = new JedisPoolConfig();rn // 最大空闲数rn jedisPoolConfig.setMaxIdle(maxIdle);rn // 连接池的最大数据库连接数rn jedisPoolConfig.setMaxTotal(maxTotal);rn // 最大建立连接等待时间rn jedisPoolConfig.setMaxWaitMillis(maxWaitMillis);rn // 逐出连接的最小空闲时间 默认1800000毫秒(30分钟)rn jedisPoolConfig.setMinEvictableIdleTimeMillis(minEvictableIdleTimeMillis);rn // 每次逐出检查时 逐出的最大数目 如果为负数就是 : 1/abs(n), 默认3rn jedisPoolConfig.setNumTestsPerEvictionRun(numTestsPerEvictionRun);rn // 逐出扫描的时间间隔(毫秒) 如果为负数,则不运行逐出线程, 默认-1rn jedisPoolConfig.setTimeBetweenEvictionRunsMillis(timeBetweenEvictionRunsMillis);rn // 是否在从池中取出连接前进行检验,如果检验失败,则从池中去除连接并尝试取出另一个rn jedisPoolConfig.setTestOnBorrow(testOnBorrow);rn // 在空闲时检查有效性, 默认falsern jedisPoolConfig.setTestWhileIdle(testWhileIdle);rn return jedisPoolConfig;rn rnrn /**rn * 单机版配置 @Title: JedisConnectionFactory @param @paramrn * jedisPoolConfig @param @return @return JedisConnectionFactory @autorrn * lpl @date 2018年2月24日 @throwsrn */rn @Beanrn public JedisConnectionFactory JedisConnectionFactory(JedisPoolConfig jedisPoolConfig) rn logger.info("初始化RedisConfig.JedisConnectionFactory单机版配置====");rn JedisConnectionFactory JedisConnectionFactory = new JedisConnectionFactory(jedisPoolConfig);rn // 连接池rn JedisConnectionFactory.setPoolConfig(jedisPoolConfig);rn // IP地址rn JedisConnectionFactory.setHostName(hostName);rn // 端口号rn JedisConnectionFactory.setPort(port);rn // 如果Redis设置有密码rn JedisConnectionFactory.setPassword(password);rn // 客户端超时时间单位是毫秒rn JedisConnectionFactory.setTimeout(timeout);rn return JedisConnectionFactory;rn rnrn /**rn * 实例化 RedisTemplate 对象rn *rn * @returnrn */rn @Beanrn public RedisTemplate functionDomainRedisTemplate(RedisConnectionFactory redisConnectionFactory) rn RedisTemplate redisTemplate = new RedisTemplate();rn initDomainRedisTemplate(redisTemplate, redisConnectionFactory);rn return redisTemplate;rn rnrn /**rn * 设置数据存入 redis 的序列化方式,并开启事务rn * rn * @param redisTemplatern * @param factoryrn */rn private void initDomainRedisTemplate(RedisTemplate redisTemplate, RedisConnectionFactory factory) rn // 如果不配置Serializer,那么存储的时候缺省使用String,如果用User类型存储,那么会提示错误User can't cast torn // String!rn redisTemplate.setKeySerializer(new StringRedisSerializer());rn redisTemplate.setHashKeySerializer(new StringRedisSerializer());rn redisTemplate.setHashValueSerializer(new GenericJackson2JsonRedisSerializer());rn redisTemplate.setValueSerializer(new GenericJackson2JsonRedisSerializer());rn // 开启事务rn redisTemplate.setEnableTransactionSupport(true);rn redisTemplate.setConnectionFactory(factory);rn rnrn /**rn * 注入封装RedisTemplate @Title: redisUtil @return RedisUtil @autor lpl @datern * 2017年12月21日 @throwsrn */rn @Bean(name = "redisUtil")rn public RedisUtil redisUtil(RedisTemplate redisTemplate) rn RedisUtil redisUtil = new RedisUtil();rn redisUtil.setRedisTemplate(redisTemplate);rn return redisUtil;rn rnrn rn# RedisUtil工具类文件内容如下:rnpackage com.brons.trans.redis;rnimport java.util.List;rnimport java.util.Map;rnimport java.util.Set;rnimport java.util.concurrent.TimeUnit;rnrnimport org.springframework.data.redis.core.RedisTemplate;rnimport org.springframework.util.CollectionUtils;rnrnpublic class RedisUtil rn rn private RedisTemplate redisTemplate; rnrn public void setRedisTemplate(RedisTemplate redisTemplate) rn this.redisTemplate = redisTemplate; rn rn //=============================common============================ rn /** rn * 指定缓存失效时间 rn * @param key 键 rn * @param time 时间(秒) rn * @return rn */ rn public boolean expire(String key,long time) rn try rn if(time>0) rn redisTemplate.expire(key, time, TimeUnit.SECONDS); rn rn return true; rn catch (Exception e) rn e.printStackTrace(); rn return false; rn rn rnrn /** rn * 根据key 获取过期时间 rn * @param key 键 不能为null rn * @return 时间(秒) 返回0代表为永久有效 rn */ rn public long getExpire(String key) rn return redisTemplate.getExpire(key,TimeUnit.SECONDS); rn rnrn /** rn * 判断key是否存在 rn * @param key 键 rn * @return true 存在 false不存在 rn */ rn public boolean hasKey(String key) rn try rn return redisTemplate.hasKey(key); rn catch (Exception e) rn e.printStackTrace(); rn return false; rn rn rnrn /** rn * 删除缓存 rn * @param key 可以传一个值 或多个 rn */ rn @SuppressWarnings("unchecked") rn public void del(String ... key) rn if(key!=null&&key.length>0) rn if(key.length==1) rn redisTemplate.delete(key[0]); rn else rn redisTemplate.delete(CollectionUtils.arrayToList(key)); rn rn rn rnrn //============================String============================= rn /** rn * 普通缓存获取 rn * @param key 键 rn * @return 值 rn */ rn public Object get(String key) rn return key==null?null:redisTemplate.opsForValue().get(key); rn rnrn /** rn * 普通缓存放入 rn * @param key 键 rn * @param value 值 rn * @return true成功 false失败 rn */ rn public boolean set(String key,Object value) rn try rn redisTemplate.opsForValue().set(key, value); rn return true; rn catch (Exception e) rn e.printStackTrace(); rn return false; rn rnrn rnrn /** rn * 普通缓存放入并设置时间 rn * @param key 键 rn * @param value 值 rn * @param time 时间(秒) time要大于0 如果time小于等于0 将设置无限期 rn * @return true成功 false 失败 rn */ rn public boolean set(String key,Object value,long time) rn try rn if(time>0) rn redisTemplate.opsForValue().set(key, value, time, TimeUnit.SECONDS); rn else rn set(key, value); rn rn return true; rn catch (Exception e) rn e.printStackTrace(); rn return false; rn rn rnrn /** rn * 递增 rn * @param key 键 rn * @param by 要增加几(大于0) rn * @return rn */ rn public long incr(String key, long delta) rn if(delta<0) rn throw new RuntimeException("递增因子必须大于0"); rn rn return redisTemplate.opsForValue().increment(key, delta); rn rnrn /** rn * 递减 rn * @param key 键 rn * @param by 要减少几(小于0) rn * @return rn */ rn public long decr(String key, long delta) rn if(delta<0) rn throw new RuntimeException("递减因子必须大于0"); rn rn return redisTemplate.opsForValue().increment(key, -delta); rn rnrn //================================Map================================= rn /** rn * HashGet rn * @param key 键 不能为null rn * @param item 项 不能为null rn * @return 值 rn */ rn public Object hget(String key,String item) rn return redisTemplate.opsForHash().get(key, item); rn rnrn /** rn * 获取hashKey对应的所有键值 rn * @param key 键 rn * @return 对应的多个键值 rn */ rn public Map hmget(String key) rn return redisTemplate.opsForHash().entries(key); rn rnrn /** rn * HashSet rn * @param key 键 rn * @param map 对应多个键值 rn * @return true 成功 false 失败 rn */ rn public boolean hmset(String key, Map map) rn try rn redisTemplate.opsForHash().putAll(key, map); rn return true; rn catch (Exception e) rn e.printStackTrace(); rn return false; rn rn rnrn /** rn * HashSet 并设置时间 rn * @param key 键 rn * @param map 对应多个键值 rn * @param time 时间(秒) rn * @return true成功 false失败 rn */ rn public boolean hmset(String key, Map map, long time) rn try rn redisTemplate.opsForHash().putAll(key, map); rn if(time>0) rn expire(key, time); rn rn return true; rn catch (Exception e) rn e.printStackTrace(); rn return false; rn rn rnrn /** rn * 向一张hash表中放入数据,如果不存在将创建 rn * @param key 键 rn * @param item 项 rn * @param value 值 rn * @return true 成功 false失败 rn */ rn public boolean hset(String key,String item,Object value) rn try rn redisTemplate.opsForHash().put(key, item, value); rn return true; rn catch (Exception e) rn e.printStackTrace(); rn return false; rn rn rnrn /** rn * 向一张hash表中放入数据,如果不存在将创建 rn * @param key 键 rn * @param item 项 rn * @param value 值 rn * @param time 时间(秒) 注意:如果已存在的hash表有时间,这里将会替换原有的时间 rn * @return true 成功 false失败 rn */ rn public boolean hset(String key,String item,Object value,long time) rn try rn redisTemplate.opsForHash().put(key, item, value); rn if(time>0) rn expire(key, time); rn rn return true; rn catch (Exception e) rn e.printStackTrace(); rn return false; rn rn rnrn /** rn * 删除hash表中的值 rn * @param key 键 不能为null rn * @param item 项 可以使多个 不能为null rn */ rn public void hdel(String key, Object... item) rn redisTemplate.opsForHash().delete(key,item); rn rnrn /** rn * 判断hash表中是否有该项的值 rn * @param key 键 不能为null rn * @param item 项 不能为null rn * @return true 存在 false不存在 rn */ rn public boolean hHasKey(String key, String item) rn return redisTemplate.opsForHash().hasKey(key, item); rn rnrn /** rn * hash递增 如果不存在,就会创建一个 并把新增后的值返回 rn * @param key 键 rn * @param item 项 rn * @param by 要增加几(大于0) rn * @return rn */ rn public double hincr(String key, String item,double by) rn return redisTemplate.opsForHash().increment(key, item, by); rn rnrn /** rn * hash递减 rn * @param key 键 rn * @param item 项 rn * @param by 要减少记(小于0) rn * @return rn */ rn public double hdecr(String key, String item,double by) rn return redisTemplate.opsForHash().increment(key, item,-by); rn rnrn //============================set============================= rn /** rn * 根据key获取Set中的所有值 rn * @param key 键 rn * @return rn */ rn public Set sGet(String key) rn try rn return redisTemplate.opsForSet().members(key); rn catch (Exception e) rn e.printStackTrace(); rn return null; rn rn rnrn /** rn * 根据value从一个set中查询,是否存在 rn * @param key 键 rn * @param value 值 rn * @return true 存在 false不存在 rn */ rn public boolean sHasKey(String key,Object value) rn try rn return redisTemplate.opsForSet().isMember(key, value); rn catch (Exception e) rn e.printStackTrace(); rn return false; rn rn rnrn /** rn * 将数据放入set缓存 rn * @param key 键 rn * @param values 值 可以是多个 rn * @return 成功个数 rn */ rn public long sSet(String key, Object...values) rn try rn return redisTemplate.opsForSet().add(key, values); rn catch (Exception e) rn e.printStackTrace(); rn return 0; rn rn rnrn /** rn * 将set数据放入缓存 rn * @param key 键 rn * @param time 时间(秒) rn * @param values 值 可以是多个 rn * @return 成功个数 rn */ rn public long sSetAndTime(String key,long time,Object...values) rn try rn Long count = redisTemplate.opsForSet().add(key, values); rn if(time>0) expire(key, time); rn return count; rn catch (Exception e) rn e.printStackTrace(); rn return 0; rn rn rnrn /** rn * 获取set缓存的长度 rn * @param key 键 rn * @return rn */ rn public long sGetSetSize(String key) rn try rn return redisTemplate.opsForSet().size(key); rn catch (Exception e) rn e.printStackTrace(); rn return 0; rn rn rnrn /** rn * 移除值为value的 rn * @param key 键 rn * @param values 值 可以是多个 rn * @return 移除的个数 rn */ rn public long setRemove(String key, Object ...values) rn try rn Long count = redisTemplate.opsForSet().remove(key, values); rn return count; rn catch (Exception e) rn e.printStackTrace(); rn return 0; rn rn rn //===============================list================================= rnrn /** rn * 获取list缓存的内容 rn * @param key 键 rn * @param start 开始 rn * @param end 结束 0 到 -1代表所有值 rn * @return rn */ rn public List lGet(String key,long start, long end) rn try rn return redisTemplate.opsForList().range(key, start, end); rn catch (Exception e) rn e.printStackTrace(); rn return null; rn rn rnrn /** rn * 获取list缓存的长度 rn * @param key 键 rn * @return rn */ rn public long lGetListSize(String key) rn try rn return redisTemplate.opsForList().size(key); rn catch (Exception e) rn e.printStackTrace(); rn return 0; rn rn rnrn /** rn * 通过索引 获取list中的值 rn * @param key 键 rn * @param index 索引 index>=0时, 0 表头,1 第二个元素,依次类推;index<0时,-1,表尾,-2倒数第二个元素,依次类推 rn * @return rn */ rn public Object lGetIndex(String key,long index) rn try rn return redisTemplate.opsForList().index(key, index); rn catch (Exception e) rn e.printStackTrace(); rn return null; rn rn rnrn /** rn * 将list放入缓存 rn * @param key 键 rn * @param value 值 rn * @param time 时间(秒) rn * @return rn */ rn public boolean lSet(String key, Object value) rn try rn redisTemplate.opsForList().rightPush(key, value); rn return true; rn catch (Exception e) rn e.printStackTrace(); rn return false; rn rn rnrn /** rn * 将list放入缓存 rn * @param key 键 rn * @param value 值 rn * @param time 时间(秒) rn * @return rn */ rn public boolean lSet(String key, Object value, long time) rn try rn redisTemplate.opsForList().rightPush(key, value); rn if (time > 0) expire(key, time); rn return true; rn catch (Exception e) rn e.printStackTrace(); rn return false; rn rn rnrn /** rn * 将list放入缓存 rn * @param key 键 rn * @param value 值 rn * @param time 时间(秒) rn * @return rn */ rn public boolean lSet(String key, List value) rn try rn redisTemplate.opsForList().rightPushAll(key, value); rn return true; rn catch (Exception e) rn e.printStackTrace(); rn return false; rn rn rnrn /** rn * 将list放入缓存 rn * @param key 键 rn * @param value 值 rn * @param time 时间(秒) rn * @return rn */ rn public boolean lSet(String key, List value, long time) rn try rn redisTemplate.opsForList().rightPushAll(key, value); rn if (time > 0) expire(key, time); rn return true; rn catch (Exception e) rn e.printStackTrace(); rn return false; rn rn rnrn /** rn * 根据索引修改list中的某条数据 rn * @param key 键 rn * @param index 索引 rn * @param value 值 rn * @return rn */ rn public boolean lUpdateIndex(String key, long index,Object value) rn try rn redisTemplate.opsForList().set(key, index, value); rn return true; rn catch (Exception e) rn e.printStackTrace(); rn return false; rn rn rnrn /** rn * 移除N个值为value rn * @param key 键 rn * @param count 移除多少个 rn * @param value 值 rn * @return 移除的个数 rn */ rn public long lRemove(String key,long count,Object value) rn try rn Long remove = redisTemplate.opsForList().remove(key, count, value); rn return remove; rn catch (Exception e) rn e.printStackTrace(); rn return 0; rn rn rn
Redis工具类获取Redis
需要的jar包: commons-pool2-2.3.jar,jedis-2.7.0.jar 工具类代码:package com.imust.jedis;import java.io.IOException; import java.io.InputStream; import java.util.Properties; import redis.clients.jedis.Jedis; imp
ole类接口异常出现无法正常获取
今天调试发现了一个怪现象: 自己封装了调用excel的接口,一直以来工作都相当正常。后面由于其他同学加入额外的功能,需要对里面的读写操作进行调整。调整的过程为:本来读写excel的过程:唯一使用在线程中,在线程中进行excel读写。后面仍然是在线程中读写,只不过增加了主线程中读写内容,并且通过增加向窗口发送消息的机制。  怪现象出现了,接着读写excel就一直崩溃。我郁闷了,通过调试发现两个奇怪现
hibernate 延迟加载异常(无法获取lazy对象)
我在jpa中有两个对象:hospitalization与patient,两个对象之间是多对一双向关联,全部都加上lazyrn然后在查询的时候使用left join fetch 来加载patientrnservice如下:rn[code="java"]rnrn rn tryrn rn String sql="select h from Hospitalization as h left join fetch h.patient where h.code=?1";rn Query query=entityManager.createQuery(sql);rn query.setParameter(1, code);rn return (Hospitalization) query.getSingleResult();rn catch(Exception e)rn e.printStackTrace();rn return null;rn rn rn[/code]rn这样返回的hospitalization这个对象无法获取patient这个属性,报no session异常:rn[code="java"]rn2010-03-24 10:40:22,343 [main] ERROR org.hibernate.LazyInitializationException:19 - could not initialize proxy - no Sessionrnorg.hibernate.LazyInitializationException: could not initialize proxy - no Sessionrn at org.hibernate.proxy.AbstractLazyInitializer.initialize(AbstractLazyInitializer.java:57)rn at org.hibernate.proxy.AbstractLazyInitializer.getImplementation(AbstractLazyInitializer.java:111)rn at org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.invoke(JavassistLazyInitializer.java:166)rn[/code]rn如果我在service上面用rn[code="java"]rn Hospitalization h=(Hospitalization) query.getSingleResult();rn// System.out.println(h.getPatient().getPatientName());rn return h;rn[/code]rn这样来写可以get到,但是这样hibernate又从数据库查询了一次,明明在调用left join fetch 这个sql的时候已经搜索出来了patient值(在sqlserver上面执行可以看到)但是他却不会组装成对象关联,返回给client的时候数据就又丢失了,请问这样的问题该怎么解决,这种情况只有个别类会遇到,完全一样的写法有些类就没问题
python获取redis连接数等信息
# -*- coding: utf-8 -*- __author__ = 'Administrator' __time__ = '2018-04-28 上午 10:34' import redis import sys import time HOST='172.18.101.29' PORT='6579' times=5000 result_file='D://re.txt' #HOST=s...
关于redis,创建连接池,获取连接
最近在使用redis,对于redis的使用,也学习了一些,现在记录下来,以供以后学习使用。 首先redis的使用,本文是使用java开发的,首先我们需要创建redispool(连接池),在配置信息中,填入Redis的配置信息, 可以先定义一个全局变量,也可以在需要的时候在自己创建都可以。 这些都写到一个类里面 public static JedisPool jedisPool=null...
安装redis-py并连接Redis服务器设置和获取redis的二进制数据
本文档简单介绍一下使用python版的Redis客户端redis-py来连接Redis并执行设置和获取redis的二进制数据。   说明: set,get,setnx,append等命令同样也可以用于设置二进制数据。 因为Redis的自带的客户端redis-cli不方便设置二进制数据,所以我们这里使用Python的客户端来进行   安装redis-py有三种方式: 1.   pip
Redis连接
      很多小伙伴在虚拟机上安装了redis,我们首先需要将redis.conf文件中的配置改动一下                第一 daemonize yes  改为 daemonize no        这样就可以后台启动了                第二 bind 127.0.0.1 改为 #bind127.0.0.1 或者将你的ip地址加到 bind中         ...
redis连接
连接: redis-cli -h 192.168.1.21 -p 6379 -a hello123 删除所有数据: flushdb 查看所有: keys *  查看数据库: info
连接Redis
连接Redis java @Test public void jedisClientTest(){ //创建Jedis //host:redis数据库的IP地址 //port:redis数据库的端口号 Jedis jedis = new Jedis("host",port); //通过je...
Redis的连接
require 'redis' require 'json'redis = Redis.new #指定主机名,端口号,和db #redis = Redis.new(:host=>"127.0.0.1",:port=>6379,:db=>1) #通过URL 去连接redis #redis = Redis.new(:url=>"redis://:xx@x.x.x.x:6380/1") # 连接redis
Redis 连接
Redis连接命令主要用于连接redis服务。 实例   redis 127.0.0.1:6379&amp;gt; AUTH &quot;password&quot; OK redis 127.0.0.1:6379&amp;gt; PING PONG127.0.0.1:6379&amp;gt; AUTH &quot;password&quot; OK redis 127.0.0.1:6379&amp;gt; PING PONG   以上实例演示了客户端如何通...
记录一次redis异常
java操作redis,放数或者取数,从上手程度上看-不难。但是,一次一次的异常以及解决会让我们对redis client进一步了解。一个存数据的java redis客户端项目,测试时能够存放数十条数据,使用pipeline的方式。但是,一旦存放千万乃至亿级数据的时候,每次导入数据必定会报同一个错:connection reset                          Object ...
Redis异常及解决
1.redis1.1redis系统版本使用版本:3.2.11 &amp;lt;groupId&amp;gt;com.foriseland.fjf&amp;lt;/groupId&amp;gt; &amp;lt;artifactId&amp;gt;fjf-cache&amp;lt;/artifactId&amp;gt; &amp;lt;version&amp;gt;${project.version}&amp;lt;/version&amp;gt;1.2key命名约定redis的key有着严格...
redis lpop 异常
这是一个只知其然,不知其所以然 的问题:rnrn通过不同的方式使用 lpop ,返回的 值不同。求是什么原因。rn我不清楚,都是同样的redis jar包,怎么返回值是这样不同的?rnrn异常代码如下:rnpublic class Redis rn rn private Jedis jedis;//非切片额客户端连接rn private JedisPool jedisPool;//非切片连接池rn private ShardedJedis shardedJedis;//切片额客户端连接rn private ShardedJedisPool shardedJedisPool;//切片连接池rn rn public Redis()rn rn initialPool(); rn initialShardedPool(); rn shardedJedis = shardedJedisPool.getResource(); rn jedis = jedisPool.getResource(); rn rnrn /**rn * 初始化非切片池rn */rn private void initialPool() rn rn // 池基本配置 rn JedisPoolConfig config = new JedisPoolConfig(); rn config.setMaxTotal(20);rn config.setMaxIdle(5); rn config.setMaxWaitMillis(1000); rn config.setTestOnBorrow(false); rn rn jedisPool = new JedisPool(config,"127.0.0.1",6379);rn rn rn /** rn * 初始化切片池 rn */ rn private void initialShardedPool() rn rn // 池基本配置 rn JedisPoolConfig config = new JedisPoolConfig(); rn config.setMaxTotal(20); rn config.setMaxIdle(5); rn config.setMaxWaitMillis(10001); rn config.setTestOnBorrow(false); rn // slave链接 rn List shards = new ArrayList(); rn rn shards.add(new JedisShardInfo("127.0.0.1", 6379, "master")); rnrn // 构造池 rn shardedJedisPool = new ShardedJedisPool(config, shards); rn rn rn public String ListOperate(String listName) rn String popVlue = shardedJedis.lpop(listName);rn if(popVlue != null)rn rn System.out.println("首元素 - " + listName + " : " + popVlue);rn rn rn return popVlue;rn rnrn(string -> json)rnlpop 返回的 json 值 :rnMessageBeancodeId='c634654fc7c1d79fb8a2b07e97c93186', codeName='XYCMS婚纱摄影网站源码', codeType='software', fastDFSId='group1/M00/00/00/CgoGMlpC8mqANqAJAGDOKEJgnpQ231.rar', source='null', codeVersion='vasp版', category='国产软件', fileSize='7.19M', author='null', timestamp=1514336860586rnrn找了好多,试了好多:rn换成了如下的代码:rnpublic class redisDemo rn rn private String host = "127.0.0.1";rn private int port = 6379;rn private int db = 4;rn private String key = "dll_info_analyzing_task_list";rn private Jedis jedis;rn rn public void initRedis() rn jedis = new Jedis(host, port);rn jedis.select(db);rn rn rn public void closeRedis() rn jedis.quit();rn jedis.close();rn rn rn public String lpop(String key) rn rn String getvalue = jedis.lpop(key); rn return getvalue;rn rn public redisDemo()rn rn initRedis();rn rn rn protected void finalize() throws java.lang.Throwable rnrn closeRedis();rn // 递归调用超类中的finalize方法rn super.finalize(); rn System.out.println("对象已被释放");rn rnrn(string -> json)rn返回的 json 值:rn"codeId":"eaead8b2868f995a21f7b535a5238fee","codeVersion":"vasp版","codeType":"software","fastDFSId":"group1/M00/00/00/CgoGMlpC8peAUqGzAAS5uiCTXb8143.rar","fileSize":"0.3M","author":"null","codeName":"122411小型论坛源码","source":"null","category":"国产软件","timestamp":1514336918622rnrnrnredis可视化软件中看到的值:rncodeId:'e2bb1008f47e737e0c2adef2a75f52c4', codeName:'asp 冠龙科技企业网站管理系统', codeType:'software', fastDFSId:'group1/M00/00/00/CgoGMlpC8meAN1w2AFRXxlyNODU906.rar', source:'null', codeVersion:'v2016', category:'国产软件', fileSize:'6.80M', author:'null', timestamp:1514336860203rnrn我不清楚,都是同样的redis jar包,怎么返回值是这样不同的?
redis异常在这里
err protocol error: invalid multibulk lengthfinally, I figured it out. the length of args of the API command MSET can’t be bigger than 1024 * 1024, so the length of the array KeyValuePair/* We know fo
求助,关于redis的异常
异常描述:redis.clients.jedis.exceptions.JedisConnectionException: Could not get a resource from the poolrn在网上找了很多资料,最后按照http://jiasky.iteye.com/blog/1469190所说设置了JedisPoolConfig中maxActive后,同时跑100个线程去操作时没有报异常错误,但是超过100个线程就会报异常错误,线程跑得越多,Could not get a resource from the pool的异常错误也越多。好郁闷吖.rn主要代码如下rn private static JedisPoolConfig config = new JedisPoolConfig();rn private static JedisPool pool;rnrn private static String host = "127.0.0.1";rn private static int port = 6379;rn private static boolean isAuth = false;rn private static String password = "";rn rn /**rn * 初始化参数rn */rn private static void init() rn host = "xx.xx.xx.xx";rn port = 6379;rn isAuth =false;rn password = "12345";rn config.setMaxActive(3000000);rn config.setMaxIdle(10);rn config.setMaxWait(10);rn config.setTestOnBorrow(true);rn pool = new JedisPool(config, host, port,3000000);rn rn求助吖~~~~对redis不熟~~~~~
redis 内存异常
[img=https://forum.csdn.net/PointForum/ui/scripts/csdn/Plugin/003/monkey/8.gif][/img]rnredis 2.4.17 内存不能写,以前都正常,就最近几天,老报这个错误,程序也没发现什么问题,是不是redis 这个版本有什么bug?
redis启动异常
http://blog.csdn.net/a491857321/article/details/52006376
相关热词 c# 线程结束时执行 c# kb mb 图片 c# 替换第几位字符 c#项目决定成败 c# 与matlab c# xml缩进 c#传感器基础 c#操作wps c# md5使用方法 c# 引用父窗口的组件