RedisTemplate的API方法解析?

StringRedisTemplate是RedisTemplate的特化版本,专为处理String键值对设计,使用StringRedisSerializer确保键值对可读。它提供了方便的方法进行密集型String操作,如设置和获取值。在测试案例中,我们看到如何设置和获取键值以及在哈希表中操作数据,所有这些都在Redis中以String格式存储。
摘要由CSDN通过智能技术生成

由于存储在Redis中的键和值非常普遍java.lang.String,因此Redis模块提供了RedisConnection和的两个扩展RedisTemplate,分别是StringRedisConnection(及其DefaultStringRedisConnection实现),并且StringRedisTemplate是用于密集型String操作的便捷的一站式解决方案。除了绑定到String键之外,模板和连接还使用StringRedisSerializer下方,这意味着存储的键和值是人类可读的(假设Redis和您的代码使用相同的编码)。

StringRedisTemplate 继承了RedisTemplate类,只是所有的KV序列化都设置为 StringRedisSerializer.UTF_8。

public class StringRedisTemplate extends RedisTemplate<String, String> {
    public StringRedisTemplate() {
        this.setKeySerializer(RedisSerializer.string());
        this.setValueSerializer(RedisSerializer.string());
        this.setHashKeySerializer(RedisSerializer.string());
        this.setHashValueSerializer(RedisSerializer.string());
    }

    public StringRedisTemplate(RedisConnectionFactory connectionFactory) {
        this();
        this.setConnectionFactory(connectionFactory);
        this.afterPropertiesSet();
    }

    protected RedisConnection preProcessConnection(RedisConnection connection, boolean existingConnection) {
        return new DefaultStringRedisConnection(connection);
    }
}


测试案例:

    @Test
    void stringRedisTemplateTest() {
        stringRedisTemplate.boundValueOps("kkk").set("vvv");
        String value = stringRedisTemplate.boundValueOps("kkk").get();

        stringRedisTemplate.boundHashOps("hashkkk").putIfAbsent("kkk","vvv");
        System.out.println(value);
    }

1
查看redis中的数据,发现都为String,很方便阅读:


RedisTemplate
Operations
RedisTemplate对Redis的每种数据类型都提供了响应的Operation对象,对数据进行操作。
Bound开头需要绑定Key,其对应的操作API都是一样的

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值