SpringBoot之高级缓存Redis之开发入门

背景:

前期我们已经进行了SpringBoot自带的缓存机制进行相关的开发讲解,不过自带缓存机制存在很多问题,为了解决内存不足等问题,我们要使用高级的缓存机制,Redis进行相关的开发。

步骤:

1. 安装Redis:根据需求进行安装推荐使用Docker

2. 引入Redis的starter


        
            org.springframework.boot
            spring-boot-starter-data-redis
        
    

3.在SpringBoot中配置Redis

采用的是yml的文件方式:这里只是简单地配置了redis的连接地址同时还有相关的数据库配置。

spring:
  datasource:
    url: jdbc:mysql://192.168.59.129:3306/Jpa
    username: root
    password: 123456
    driver-class-name: com.mysql.cj.jdbc.Driver
  redis:
    host: 192.168.59.129
    database: 10
#开启Mybatis的驼峰命名法。
mybatis:
  configuration:
    map-underscore-to-camel-case: true

 

4.在SpringBoot中关于Redis 的测试:

方式1: 

@Autowired
StringRedisTemplate stringRedisTemplate;    //用于操作字符串,即key - value均为字符串。
/**
     * Redis常见的五大数据类型:
     * String(字符串),List(列表),Set(集合),Hash(散列),ZSet(有序集合)
     * stringRedisTemplate.opsForValue();  操作字符串
     * stringRedisTemplate.opsForList(); 操作列表
     * stringRedisTemplate.opsForHash(); 操作Hash
     * stringRedisTemplate.opsForSet(); 操作集合
     * stringRedisTemplate.opsForZSet(); 操作有序集合
     */
    @Test
    public void test01(){
        System.out.println("Redis相关字符串的测试针对String字符串操作");
        //操作字符串
        stringRedisTemplate.opsForValue().append("gcg","  hello");
        String msg= stringRedisTemplate.opsForValue().get("gcg");
        System.out.println("msg="+msg);
    }
    @Test
    public void test02(){
        System.out.println("Redis相关List的测试针对String字符串操作");
        //操作list
        stringRedisTemplate.opsForList().leftPush("g","1");
        System.out.println(stringRedisTemplate.opsForList().leftPop("g"));
    }

方式2: 

@Autowired
RedisTemplate redisTemplate;            //对象的操作key-value觉可以用作对象来表示。

在使用该对象之前需要对存放的对象进行序列化处理,否则存进去会自动报错(对象为序列化)。

步骤:

1.对象序列化(只需要让对象继承一下Serializable接口就可以了)

SpringBoot之高级缓存Redis之开发入门_第1张图片

2. 具体的测试

注意:

不论是方式一还是方式二,都是SpringBoot自带的Redis包的资源。不需要任何的自动配置,不过也存在一定的缺陷,那就是方式2存放的数据只能是序列化后的数据,同时存放在Redis中的数据就是一种序列化2进制字符串,不是明文看起来很不方便。

你可能感兴趣的:(SpringBoot之高级缓存Redis之开发入门)