当前位置: 首页> 娱乐> 八卦 > 广西南宁疫情最新消息今天新增_大连市住建局官方网_手机优化软件哪个好用_视频营销成功的案例

广西南宁疫情最新消息今天新增_大连市住建局官方网_手机优化软件哪个好用_视频营销成功的案例

时间:2025/7/9 23:32:17来源:https://blog.csdn.net/weixin_42242910/article/details/144243447 浏览次数:0次
广西南宁疫情最新消息今天新增_大连市住建局官方网_手机优化软件哪个好用_视频营销成功的案例

1.RedisTemplate和StringRedisTemplate的区别 

  1. StringRedisTemplate继承RedisTemplate

  2. 两者的数据是不共通的(默认的序列化机制导致key不一样

  3. StringRedisTemplate默认采用的是String的序列化策略

  4. RedisTemplate默认采用的是JDK的序列化策略,会将数据先序列化成字节数组然后在存入Redis数据库

针对区别的第3点和第4点

 查看后执行的后台打印

redis可视化工具中查看数据

 

  • 总结

    • 当redis数据库里面本来操作的是字符串数据的时候,那使用StringRedisTemplate即可
    • 数据是复杂的对象类型,那么使用RedisTemplate是更好的选择

1.1序列化机制 

想要改变RedisTemplate生成的key和value,就要使用序列化机制

新建一个配置类RedisTemplateConfiguration

package net.xdclass.xdclassredis.config;import com.fasterxml.jackson.annotation.JsonAutoDetect;
import com.fasterxml.jackson.annotation.PropertyAccessor;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.redis.connection.RedisConnectionFactory;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.serializer.Jackson2JsonRedisSerializer;
import org.springframework.data.redis.serializer.StringRedisSerializer;@Configuration
public class RedisTemplateConfiguration {@Beanpublic RedisTemplate<Object, Object> redisTemplate(RedisConnectionFactory redisConnectionFactory) {RedisTemplate<Object, Object> redisTemplate = new RedisTemplate<>();redisTemplate.setConnectionFactory(redisConnectionFactory);// 使用Jackson2JsonRedisSerialize 替换默认序列化
//        Jackson2JsonRedisSerializer jackson2JsonRedisSerializer = new Jackson2JsonRedisSerializer(Object.class);ObjectMapper objectMapper = new ObjectMapper();objectMapper.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY);
//        jackson2JsonRedisSerializer.setObjectMapper(objectMapper);Jackson2JsonRedisSerializer<Object> jackson2JsonRedisSerializer = new Jackson2JsonRedisSerializer<>(objectMapper, Object.class);// 设置key和value的序列化规则redisTemplate.setKeySerializer(new StringRedisSerializer());redisTemplate.setValueSerializer(jackson2JsonRedisSerializer);// 设置hashKey和hashValue的序列化规则redisTemplate.setHashKeySerializer(new StringRedisSerializer());redisTemplate.setHashValueSerializer(jackson2JsonRedisSerializer);// 设置支持事物//redisTemplate.setEnableTransactionSupport(true);redisTemplate.afterPropertiesSet();return redisTemplate;}}

新建一个实例对象UserDo

package net.xdclass.xdclassredis.model;import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class UserDo{private int id;private String name;private String pwd;}

测试一下

执行这个单元测试,查看redis的可视化工具 

如需要代码,可在资源中自取!!! 

关键字:广西南宁疫情最新消息今天新增_大连市住建局官方网_手机优化软件哪个好用_视频营销成功的案例

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: