Redis操作--RedisTemplate(二)StringRedisTemplate

一、介绍

1、简介

由于存储在 Redis 中的 key 和 value 通常是很常见的 String 类型,Redis模块提供了 RedisConnection 和 RedisTemplate 的扩展,分是 StringRedisConnection 和 StringRedisTemplate,作为字符串操作的解决方案。

通过源码可以看见对于Key、Value、HashKey、HashValue都是进行String类型的序列化。

因此对于一些复杂类型,如对象在StringRedisTemplate的时候往往需要自己手动序列化将对象转为JSON再存入Redis。

二、使用

使用StringRedisTemplate,不需要(写RedisConfig)额外设置序列化。

1、操作string
 @Autowired
    private StringRedisTemplate stringRedisTemplate;

    @Test
    public void  testString(){
        String key = "string-name";
        //存
        String value = "这是value123";
        stringRedisTemplate.opsForValue().set(key,value);
        //取
        Object valueObj = stringRedisTemplate.opsForValue().get(key);
        System.out.println("value为:" + valueObj);
    }

输出:value为:这是value123,

查看可视化工具也没有乱码

2、操作对象
    @Autowired
    private StringRedisTemplate stringRedisTemplate;    
   
    @Test
    public void  testUser(){
        String key = "user-key";
        //存
        UserDTO userDTO = new UserDTO();
        userDTO.setUserAccount("zhangsan");
        userDTO.setAge(18);
        userDTO.setUserName("张三");
        stringRedisTemplate.opsForValue().set(key, JSON.toJSONString(userDTO));
        //取
        String valueObj = stringRedisTemplate.opsForValue().get(key);
        UserDTO redisUser = JSON.parseObject(valueObj, UserDTO.class);
        System.out.println("value为:" + redisUser);
    }

输出:value为:UserDTO(userName=张三, age=18, userAccount=zhangsan)

查看可视化工具没有乱码:

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
`StringRedisTemplate`是Spring Data Redis库中的一个类,它是对Jedis客户端的封装,用于与Redis服务器交互。它提供了一组方法来执行字符串操作,如设置和获取值、删除键等。 `StringRedisTemplate`是`RedisTemplate`的子类,专门用于操作字符串数据。它通过继承`RedisTemplate`的基本操作方法,并针对字符串类型进行了特殊处理。 在使用`StringRedisTemplate`之前,你需要先配置Redis连接信息,包括服务器地址、端口号、密码等。然后,你可以通过`StringRedisTemplate`的实例来执行各种操作,如设置值、获取值、删除键等。 下面是一个示例代码,展示如何使用`StringRedisTemplate`类: ```java import org.springframework.data.redis.core.StringRedisTemplate; import org.springframework.data.redis.core.ValueOperations; public class RedisExample { private StringRedisTemplate redisTemplate; public RedisExample(StringRedisTemplate redisTemplate) { this.redisTemplate = redisTemplate; } public void setValue(String key, String value) { ValueOperations<String, String> ops = redisTemplate.opsForValue(); ops.set(key, value); } public String getValue(String key) { ValueOperations<String, String> ops = redisTemplate.opsForValue(); return ops.get(key); } public void deleteKey(String key) { redisTemplate.delete(key); } } ``` 在上面的示例中,我们首先创建了一个`StringRedisTemplate`实例,并将其传递给`RedisExample`类的构造函数。然后,我们可以使用该实例来执行不同的操作,如设置值、获取值和删除键。 请注意,以上只是一个简单的示例,你可以根据实际需要进行更复杂的操作。同时,你也可以参考Spring Data Redis的官方文档以获取更多详细信息和示例代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

w_t_y_y

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值