介绍两种方法,亲测有效:
一、利用spring-boot-starter-data-redis
1.导包
<!-- redis 依赖 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
2.配置application.properties
3.建立工具类
依赖注入 StringRedisTemplate
利用StringRedisTemplate 的 opsForValue()方法就可以操作Redis啦
在类上加入@Component 可以在使用工具类的时候通过依赖注入注入对象
二、在springboot的内置tomcat启动时注入
导包 Jedis
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>2.9.0</version>
</dependency>
直接代码啦
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.cache.annotation.CachingConfigurerSupport;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;
@Configuration
public class JedisConfig extends CachingConfigurerSupport{
private Logger logger = LoggerFactory.getLogger(JedisConfig.class);
/**
* SpringSession 需要注意的就是redis需要2.8以上版本,然后开启事件通知,在redis配置文件里面加上
* notify-keyspace-events Ex
* Keyspace notifications功能默认是关闭的(默认地,Keyspace 时间通知功能是禁用的,因为它或多或少会使用一些CPU的资源)。
* 或是使用如下命令:
* redis-cli config set notify-keyspace-events Egx
* 如果你的Redis不是你自己维护的,比如你是使用阿里云的Redis数据库,你不能够更改它的配置,那么可以使用如下方法:在applicationContext.xml中配置
* <util:constant static-field="org.springframework.session.data.redis.config.ConfigureRedisAction.NO_OP"/>
* @return
*/
@Value("${spring.redis.host}")
private String host;
@Value("${spring.redis.port}")
private int port;
@Value("${spring.redis.auth}")
private String auth;
@Bean
public Jedis redisPoolFactory(){
JedisPoolConfig config = new JedisPoolConfig();
JedisPool jedisPool = new JedisPool(config, host, port, 5000, auth);
logger.info("JedisPool注入成功!");
logger.info("redis地址:" + host + ":" + port);
//return jedisPool;
Jedis jedis = jedisPool.getResource();
return jedis;
}
}
就可以在别的类直接注入jedis啦 jedis就是java操作Redis最推荐的方式