大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。
Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺
吐槽一下,本来以为随便找个文章跟着配置一下,就可以了,后来发现好多例子无法运行。估计是环境的问题,后来把大神们的例子综合一下,终于配置出一个简洁有效的例子,个人太懒,技术太烂,复杂的代码不理解,所以能简就简。抛砖引玉,大家多指点。?
springboot版本用的是2.1.4的,其他的maven等软件版本也不会有大的影响,就没有必要列出了。
步骤如下:
1,配置pom文件,引入相应资源文件
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>3.0.1</version>
</dependency>
2,配置application.properties,如果springboot版本差别太大,配置中的属性名会有不同,请注意修改。
#redis配置
# Redis数据库索引(默认为0)
spring.redis.database=0
# Redis服务器地址
spring.redis.host=127.0.0.1
# Redis服务器连接端口
spring.redis.port=6379
# Redis服务器连接密码(默认为空)
spring.redis.password=
# 连接池最大连接数
spring.redis.jedis.pool.max-active=100
# 连接池中的最大空闲连接
spring.redis.jedis.pool.max-idle=20
# 连接池中的最小空闲连接
spring.redis.jedis.pool.min-idle=5
# 连接超时时间(毫秒)
spring.redis.timeout=1000
#spring-session 使用
spring.session.store-type=none
3,添加RedisConfig的工厂类
import org.apache.log4j.Logger;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.cache.annotation.CachingConfigurerSupport;
import org.springframework.context.annotation.Configuration;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;
@Configuration
public class RedisConfig extends CachingConfigurerSupport {
protected static final Logger logger = Logger.getLogger(RedisConfig.class);
@Value("${spring.redis.host}")
private String host;
@Value("${spring.redis.port}")
private int port;
@Value("${spring.redis.jedis.pool.max-active}")
private int maxTotal;
@Value("${spring.redis.jedis.pool.max-idle}")
private int maxIdle;
@Value("${spring.redis.jedis.pool.min-idle}")
private int minIdle;
@Value("${spring.redis.password}")
private String password;
@Value("${spring.redis.timeout}")
private int timeout;
public JedisPool redisPoolFactory() {
JedisPoolConfig jedisPoolConfig = new JedisPoolConfig();
jedisPoolConfig.setMaxTotal(maxTotal);
jedisPoolConfig.setMaxIdle(maxIdle);
jedisPoolConfig.setMinIdle(minIdle);
JedisPool jedisPool = new JedisPool(jedisPoolConfig, host, port, timeout, null);
logger.info("JedisPool注入成功!!");
logger.info("redis地址:" + host + ":" + port);
return jedisPool;
}
}
4,添加工具类
import com.wx.config.RedisConfig;
import org.apache.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import javax.annotation.PostConstruct;
/**
* Date:2019-07_08 13:20
* Description: redis 工具类
*/
@Component
public class RedisUtils {
protected static final Logger logger = Logger.getLogger(RedisUtils.class);
private static JedisPool jedisPool;
@Autowired
private RedisConfig redisConfig;
/**
* JedisPool 无法通过@Autowired注入,可能由于是方法bean的原因,此处可以先注入RedisConfig,
* 然后通过@PostConstruct初始化的时候将factory直接赋给jedisPool
*/
@PostConstruct
public void init() {
jedisPool = redisConfig.redisPoolFactory();
}
public static String get(String key, int indexdb) {
Jedis jedis = null;
String value = null;
try {
jedis = jedisPool.getResource();//获取一个jedis实例
jedis.select(indexdb);
value = jedis.get(key);
} catch (Exception e) {
logger.error("错误日志:"+e.getMessage());
} finally {
jedis.close();
}
return value;
}
}
5,添加测试方法
@GetMapping(value = "/test")
public String test(){
String str = RedisUtils.get("test",0);
System.out.println(str+"**************");
return str;
}
获取key值
如有问题,请评论区讨论。一起探讨。
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/197068.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...