springboot2.0中redis的RedisTemplate使用

RedisTemplate ,使用redis 的过程,我们一般把 kv 设置成 string 类型储存,
那么,怎么设置redisTemplate 的序列化为 StringRedisSerializer 呢?

RedisTemplate 中本身存在StringRedisSerializer ,我们只需要获取到,并且设置 key ,hashkey 为 string的序列化即可;

    // 注入redisTemplate
    @Autowired
    private RedisTemplate redisTemplate;
    @Autowired
    private RedisConnectionFactory connectionFactory;
    @PostConstruct
    public void init() {
        RedisSerializer stringSerializer = redisTemplate.getStringSerializer();
        redisTemplate.setHashKeySerializer(stringSerializer);
        redisTemplate.setHashValueSerializer(stringSerializer);
    }

这里说下 redis 的高级API
正常使用redis 使用redisTemplate 操作数据足够了,但是多次操作数据时候,会调用SessionCallback 和 RedisCallback 接口;

public void useRedisCallback(RedisTemplate redisTemplate) {
    redisTemplate.execute((RedisConnection rc) -> {
        rc.set("key1".getBytes(), "value1".getBytes());
        rc.hSet("hash".getBytes(), "field".getBytes(), "hvalue".getBytes());
        return null;
    });
}

public void useSessionCallback(RedisTemplate redisTemplate) {
    redisTemplate.execute((RedisOperations ro) -> {
        ro.opsForValue().set("key1", "value1");
        ro.opsForHash().put("hash", "field", "hvalue");
        return null;
    });
}

你可能感兴趣的:(Redis,redis使用)