一、添加pom.xml依赖
- 添加Jedis依赖
- 添加Fastjson依赖
- 添加读取springboot配置文件的依赖,后面读取application.properties里面设置的redis信息会用到
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.62</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>
二、在application.properties中添加redis需要的配置
#redis
redis.host=ip地址
redis.port=6379
redis.timeout=3
redis.password=123456
redis.poolMaxTotal=10
redis.poolMaxIdle=10
redis.poolMaxWait=3
三、获取Jedis对象(相当于redis客户端,通过这个对象可以操控你的服务器redis)
分为以下几个步骤:
- 将application.properties里面redis配置信息封装到RedisConfig对象中
- 通过RedisConfig和JedisPoolConfig创建JedisPool
- 通过jedisPool.getResource()获取Jedis
- 通过Jedis操作Redis
1.RedisConfig
@Component
@ConfigurationProperties(prefix = "redis")
public class RedisConfig {
private String host;
private int port;
private int timeout;
private String password;
private int poolMaxTotal;
private int poolMaxIdle;
private int poolMaxWait;
}
2.RedisPoolFactory
@Service
public class RedisPoolFactory {
@Autowired
RedisConfig redisConfig;
@Bean
public JedisPool JedisPoolFactory() {
JedisPoolConfig poolConfig = new JedisPoolConfig();
poolConfig.setMaxIdle(redisConfig.getPoolMaxIdle());
poolConfig.setMaxTotal(redisConfig.getPoolMaxTotal());
poolConfig.setMaxWaitMillis(redisConfig.getPoolMaxWait() * 1000);
JedisPool jp = new JedisPool(poolConfig, redisConfig.getHost(), redisConfig.getPort(),
redisConfig.getTimeout()*1000, redisConfig.getPassword(), 0);
return jp;
}
}
3/4 获取Jedis并操作Redis
public <T> T get(String key, Class<T> clazz) {
Jedis jedis = null;
try {
jedis = jedisPool.getResource();
String str = jedis.get(realKey);
T t = stringToBean(str, clazz);
return t;
} finally {
returnToPool(jedis);
}
}
直接用key当作redis<key, value>中的key的话,冲突很严重,会造成一定问题,最好自己对key进行一些特殊处理。