使用StringRedisTemplate进行redis连接操作

1,引入jar,需要jar有三个,如下

    
        org.springframework.data
        spring-data-redis
        2.1.4.RELEASE
    
    
        org.apache.commons
        commons-pool2
        2.4.2
    
    
    
        redis.clients
        jedis
        2.9.0
    

注意spring-data-redis和jedis版本问题,如下图mavan资源仓库都会有对应的spring-data-redis支持的jedis版本使用StringRedisTemplate进行redis连接操作_第1张图片
2,配置StringRedisTemplate,在redisConfiguration类中,配置redis连接池,下面给出了最简单的redis测试示例。

 @Bean
    public RedisConnectionFactory redisConnectionFactory() {
        JedisConnectionFactory jedisConnectionFactory = new JedisConnectionFactory();
        jedisConnectionFactory.setHostName("127.0.0.1");
        jedisConnectionFactory.setPort(6379);
        jedisConnectionFactory.setPassword("1234");
       return jedisConnectionFactory;
    }


    @Bean
    public StringRedisTemplate stringRedisTemplate(RedisConnectionFactory redisConnectionFactory) {
        StringRedisTemplate stringRedisTemplate = new StringRedisTemplate();
        stringRedisTemplate.setConnectionFactory(redisConnectionFactory);
        return stringRedisTemplate;
    }

3,具体操作,可以设置如下api

    /**
     * 对hash类型的数据操作
     *
     * @param redisTemplate
     * @return
     */
    @Bean
    public HashOperations hashOperations(RedisTemplate redisTemplate) {
        return redisTemplate.opsForHash();
    }

    /**
     * 对redis字符串类型数据操作
     *
     * @param redisTemplate
     * @return
     */
    @Bean
    public ValueOperations valueOperations(RedisTemplate redisTemplate) {
        return redisTemplate.opsForValue();
    }

    /**
     * 对链表类型的数据操作
     *
     * @param redisTemplate
     * @return
     */
    @Bean
    public ListOperations listOperations(RedisTemplate redisTemplate) {
        return redisTemplate.opsForList();
    }

    /**
     * 对无序集合类型的数据操作
     *
     * @param redisTemplate
     * @return
     */
    @Bean
    public SetOperations setOperations(RedisTemplate redisTemplate) {
        return redisTemplate.opsForSet();
    }

    /**
     * 对有序集合类型的数据操作
     *
     * @param redisTemplate
     * @return
     */
    @Bean
    public ZSetOperations zSetOperations(RedisTemplate redisTemplate) {
        return redisTemplate.opsForZSet();
    }

测试代码如下,需要将StringRedisTemplate注册给我们的业务类:

@Autowired
private StringRedisTemplate redisTemplate;


@PostConstruct
public void init(){
    //操作string
    redisTemplate.opsForValue().set("baomw","XXXsada");

    System.out.println(redisTemplate.opsForValue().get("baomw"));

}

使用StringRedisTemplate进行redis连接操作_第2张图片
如上图,就完成了一个简单的redis操作调用了。

你可能感兴趣的:(redis)