SpringBoot快速整合redis

介绍

五大基本类型

  • String(字符串)

  • Hash(哈希)

  • List(列表)

  • Set(集合)

  • Zset (sorted set:有序集合)

在redis5.0之后,新加了 stream 类型 ,官网文档:Redis Streams | Redis

使用

(redis的安装过程略,自己去安装,很简单)

先创建一个空的 springboot 工程

1、引入依赖

 <!--redis依赖-->
 <dependency>
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-starter-data-redis</artifactId>
 </dependency>
 <!--Jackson依赖-->
 <dependency>
     <groupId>com.fasterxml.jackson.core</groupId>
     <artifactId>jackson-databind</artifactId>
 </dependency>

2、配置redis

 spring:
   redis:
     host: localhost
     port: 6379
     password: 123456

3、注入RedisTemplate

由于SpringBoot的自动装配,RedisTemplate我们拿来就能直接使用

 @Resource
 private RedisTemplate redisTemplate;

4、测试使用

直接调用redisTemplate的方法,发现前面说到的五大基本类型都是存在的。

在这里,用spring的使用为例子,其他使用同理

 @Test
 void test() {
     redisTemplate.opsForValue().set("name","hsx");
 }

插入数据后,用redis可视化工具可以看到,存入的key和value都是一长串看不懂的内容

1)redis的序列化规则

看 RedisTemplate 源码,发现,在默认,序列化是是走的是JDK的序列化器。而继续跟踪看源码发现,默认JDK序列化器走的是,默认将我们存的key和value转成字节。

 

 

2)重写redis序列化规则

 @Configuration
 public class RedisConfig {
 ​
     @Bean
     public RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory connectionFactory){
         // 创建RedisTemplate对象
         RedisTemplate<String, Object> template = new RedisTemplate<>();
         // 设置连接工厂
         template.setConnectionFactory(connectionFactory);
         // 创建JSON序列化工具
         GenericJackson2JsonRedisSerializer jsonRedisSerializer = 
                                         new GenericJackson2JsonRedisSerializer();
         // 设置Key的序列化
         template.setKeySerializer(RedisSerializer.string());
         template.setHashKeySerializer(RedisSerializer.string());
         // 设置Value的序列化
         template.setValueSerializer(jsonRedisSerializer);
         template.setHashValueSerializer(jsonRedisSerializer);
         // 返回
         return template;
     }
 }

然后去调用刚才的测试代码,发现结果是符合我们的要求:

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值