Day 8-4 使用Spring Data Redis操作Redis 基础环境&序列设置&操作各类型数据及对应命令

一、基础环境
  1. 首先在pom.xml中导入依赖
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-redis</artifactId>
        </dependency>

Spring Data Redis中提供了一个高度封装的类:RedisTemplate,针对jedis客户端中大量api进行了归类封装,将同一类型操作封装为operation接口,具体分类如下(其实就是对应五大常用数据类型):

  • ValueOperations:简单K-V操作 -String类型
  • SetOperations:set类型数据操作 -无序集合set类型
  • ZSetOperations:zset类型数据操作 -有序集合set类型
  • HashOperations:针对map类型的数据操作 -哈希类型
  • ListOperations:针对list类型的数据操作 -list类型
  1. 配置application.yml文件
spring:
  application:
    name: springdataredis_demo
  #Redis相关配置
  redis:
    host: localhost
    port: 6379
    #password: 123456
    database: 0 #操作的是0号数据库
    jedis:
      #Redis连接池配置
      pool:
        max-active: 8 #最大连接数
        max-wait: 1ms #连接池最大阻塞等待时间
        max-idle: 4 #连接池中的最大空闲连接
        min-idle: 0 #连接池中的最小空闲连接

这里的database默认操作0号数据库,Redis为我们默认提供了16个数据库。具体看配置文件redis.windows.conf
在这里插入图片描述
在这里插入图片描述

二、序列设置及操作常用五大类类型
1. 操作String类型数据

redisTemplate由Spring管理且在我们没有配置该类可以被直接注入。

在这里插入图片描述

redisTemplate为我们提供了opsForxxx方法 对应五种常用类型,直接set即可
HashOperations hashOperations = redisTemplate.opsForHash();
redisTemplate.opsForHash()得到的类型为HashOperations
其他的opsForxxx也同样对应五大常用数据类型。

 @Test
    public void testString(){
   
        redisTemplate.opsForValue().set("city","beijing");
    }

在直接set之后,我们发现Redis数据库中并不存在city 而是:

在这里插入图片描述

这里是由于redisTemplate在往Redis数据库存入的时候进行了序列化,这里需要我们重新设置序列化器保证key不被序列化

/**
 * Redis配置类
 */

@Configuration
public class RedisConfig extends CachingConfigurerSupport {
   
    @Bean
    public RedisTemplate<Object, Object> redisTemplate(RedisConnectionFactory connectionFactory) {
   
        RedisTemplate<Object, Object> redisTemplate = new RedisTemplate<>()
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值