2020/03/21-Redis(1)

1.1SpringBoot整合Redis

在互联网项目中经常把高频使用的数据会缓存起来,而redis是大多数项目优先考虑的一款非关系型数据库,

我们使用Redis都是采用的Jedis客户端,不过既然我们使用了SpringBoot,我就就使用Spring对Redis封装的套件,谁呢?是Spring Data Redis

Spring Data Redis,是Spring Data 家族的一部分。 对Jedis客户端进行了封装,与spring进行了整合。可以非常方便的来实现redis的配置和操作。

1.1.1.RedisTemplate基本操作

与以往学习的套件类似,Spring Data 为 Redis 提供了一个工具类:RedisTemplate。里面封装了对于Redis的五种数据结构的各种操作,包括:

  • redisTemplate.opsForValue() :操作字符串
  • redisTemplate.opsForHash() :操作hash
  • redisTemplate.opsForList():操作list
  • redisTemplate.opsForSet():操作set
  • redisTemplate.opsForZSet():操作zset
    例如我们对字符串操作比较熟悉的有:get、set等命令,这些方法都在 opsForValue()返回的对象中有:

    其它一些通用命令,如del,可以通过redisTemplate.xx()来直接调用。

1.1.2.StringRedisTemplate

RedisTemplate在创建时,可以指定其泛型类型:

  • K:代表key 的数据类型
  • V: 代表value的数据类型

注意:这里的类型不是Redis中存储的数据类型,而是Java中的数据类型,RedisTemplate会自动将Java类型转为Redis支持的数据类型:字符串、字节、二二进制等等。

不过RedisTemplate默认会采用JDK自带的序列化(Serialize)来对对象进行转换。生成的数据十分庞大,因此一般我们都会指定key和value为String类型,这样就由我们自己把对象序列化为json字符串来存储即可。

因为大部分情况下,我们都会使用key和value都为String的RedisTemplate,因此Spring就默认提供了这样一个实现:

Redis启动器的依赖

  <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.3.RELEASE</version>
    </parent>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-redis</artifactId>
        </dependency>
    </dependencies>

在resources下添加application.yml文件,内容如下

spring:
  redis:
    host: 127.0.0.1
    port: 6379
posted @ 2020-03-21 21:27  老沈  阅读(111)  评论(0编辑  收藏  举报