动手前的条件:
- 云服务器(我用的是腾讯云服务器)
- 本地开发环境 (windows,IDEA)
- 可正常运行的springBoot框架代码
准备工作:
-
腾讯云服务器上安装redis,参考Linux安装和部署Redis
-
远程连接Redis进行相关配置,配置项如下(均是对redis.config的配置):
1、设置绑定IP(这里允许所有IP端访问,直接注释 bind即可)
2、设置Redis连接密码
3、修改redis的保护模式为no
4、修改redis的守护进程为yes(修改后启动redis时关联redis.config文件,可后台启动redis)
-
Centos防火墙设置,开放6379端口,此处略。(我直接把防火墙关闭了,不建议)
springBoot集成Redis(使用Jedis工具类)
1、配置pom.xml文件,添加redis依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-redis</artifactId>
<version>1.4.1.RELEASE</version>
</dependency>
以下工具下文中会用到,此处提前添加
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.38</version>
</dependency>
2、配置文件中添加redis相关信息,备用
#redis相关配置
redis:
database: 0
host: *.*.*.*
password: *
pool:
max-active: 200
max-idle: 10
max-wait: -1
min-idle: 0
max-total: 5
port: 6379
timeout: 1000
host为redis服务器地址,password为上文中配置的redis连接密码。其他参数含义可自行百度。
3、编写RedisConf类
package com.css.dataexchangesystem.config;
import java.lang.reflect.Method;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.cache.CacheManager;
import org.springframework.cache.annotation.CachingConfigurerSupport;
import org.springframework.cache.annotation.EnableCaching;
import org.springframework.cache.interceptor.KeyGenerator;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.redis.cache.RedisCacheManager;
import org.springframework.data.redis.connection.RedisConnectionFactory;
import org.springframework.data.redis.connection.jedis.JedisConnectionFactory;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.data.redis.serializer.Jackson2JsonRedisSerializer;
import com.fasterxml.jackson.annotation.PropertyAccessor;
import com.fasterxml.jackson.annotation.JsonAutoDetect;
import com.fasterxml.jackson.databind.ObjectMapper;
@Configuration
@EnableCaching
public class RedisConfig extends CachingConfigurerSupport{
@Value("${redis.host}")
private String host;
@Value("${redis.port}")
private int port;
@Value("${redis.timeout}"<