RedisTemplate获取原生Jedis
需求场景
项目中一般用RedisTemplate操作redis,但是某些需求场景只有原生jedis才会满足,比如jedis.hset,它的作用是:如果如果key不存在,则新增key并返回1;如果key存在,但filed不存在,则新增filed并返回1。 而RedisTemplate未提供这样的api。
获取方式
我们可以通过RedisTemplate获取原生Jedis,来满足我们的需求。
RedisConnection conn= null;
    try {
          
   
        conn =  RedisConnectionUtils.getConnection(redisTemplate.getConnectionFactory());
        Jedis jedis = (Jedis) conn.getNativeConnection();
        ......
        ......
        //如果key不存在,则新增key并返回1
        //如果key存在,但filed不存在,则新增filed并返回1
        Long res = jedis.hset(key, monitorData.getEndpoint(), monitorData.getTimestamp() + "");
        ......
        ......
    }finally {
          
   
        if(conn != null){
          
   
            RedisConnectionUtils.releaseConnection(conn, jedisConnectionFactory);
        }
    } 
需要注意的是,在获取到RedisConnection之后,一定要在finally中释放连接,否则会造成连接泄露。
上一篇:
			            IDEA上Java项目控制台中文乱码 
			          
			          
			        
