spring boot如何整合Redis

背景

这篇文章不会介绍如何下载Redis,默认从下载安装完Redis后开始讲,主要描述spring boot中怎么整合Redis并使用Redis,步骤超级简单,只要按照如下步骤做,肯定能成功。

第一步 导入依赖

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

第二步 配置Redis数据库参数

在properties文件中配置以下参数
在这里插入图片描述

第一个参数是选择启用Redis中哪个库
第二个参数是访问的库的ip,我这里示意的是本机的ip
第三个参数是Redis的端口,默认是6379

第三步 配置Redis配置类

其实Redis的配置类spring boot已经帮我们配置好了,但是spring boot的配置里的Redis的Key为Object对象,而实际使用中我们的Redis的key值一般都是String类型,所以我们需要重新配置Redis配置类,以下是如何编写配置类.
在这里插入图片描述

package com.nowcoder.community.config;

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.RedisSerializer;

@Configuration
public class RedisConfig {
    @Bean
    public RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory factory) {
        //实例化RedisTemplate
        RedisTemplate<String, Object> template = new RedisTemplate<>();
        //Template有了工厂以后,就具有了访问数据库的能力
        template.setConnectionFactory(factory);
        //设置key序列化方式
        template.setKeySerializer(RedisSerializer.string());
        //设置value序列化方式
        template.setValueSerializer(RedisSerializer.json());
        //设置hash的key序列化方式
        template.setHashKeySerializer(RedisSerializer.string());
        //设置hash的value序列化方式
        template.setHashValueSerializer(RedisSerializer.json());
        //触发设置生效
        template.afterPropertiesSet();
        return template;

    }

}

简单的Redis使用Demo

上面的三步完成之后就已经整合完毕了,接下来就可以在spring boot中使用Redis了,以下是Redis的基本使用Demo,开始写Demo之前记得启动Redis服务器哦
存数据
在这里插入图片描述
取数据
在这里插入图片描述
控制台信息
在这里插入图片描述
Redis客户端信息
在这里插入图片描述

扩展

  • Redis也是支持事务的,下面Demo展示的是Redis编程式事务的启用
    在这里插入图片描述
    1.注入RedisTemplate
    2.调用execute()方法,参数为一个回调函数
    3.开启事务,multi()
    4.提交事务,exec()

Redis的编程式事务有特殊性,注意不要在事务方法内执行查询获取操作,查询获取操作放在开启事务之前或提交事务之后再进行

  • 如果不用spring boot,Java怎么连接Redis呢,这就要通过jedis来连接了,假设这是一个使用maven管理的普通Java项目。
    1.导入jedis依赖
    <dependency>
      <groupId>redis.clients</groupId>
      <artifactId>jedis</artifactId>
      <version>2.9.0</version>
    </dependency>
    

2.在本地或者Linux服务器中启动redis
3.使用jedis连接上redis

package com.jizhu;

import redis.clients.jedis.Jedis;

public class JedisTest {
    public static void main(String[] args) {
        //连接redis,参数为redis所在服务器ip和它的端口号
        Jedis jedis=new Jedis("192.168.195.134",7000);
        //就可以使用jedis操作redis了
        String name = jedis.get("name");
        System.out.println(name);
    }
}

版权声明:本文为weixin_41639009原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。