在java开发中操作redis常用的就是集成RedisTemplate与jedis这两种方式。RedisTemplate与spring整合较好,配置、操作比较简单。jedis性能较强,经过本人实际测试,jedis的性能至少是RedisTemplate的3倍以上,jedis结合jedisPool使用既可以有高性能又可以保证redis的连接可控。在性能要求、并发操作不高的场景建议使用RedisTemplate,在并发高,性能要求高的场景下建议使用jedis。下面是两种方式的集成方法,以在springboot中使用为例。
springboot集成redisTemplate
1.pom文件中加入redis依赖包
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
2.application.properties中加入redis相关配置
spring.redis.host=127.0.0.1 spring.redis.database=0 spring.redis.port=6379 spring.redis.password=
3.在需要使用的类中注入template对象并使用
@Autowired public RedisTemplate redisTemplate;
redisTemplate.opsForValue().set("test", "test");
springboot集成jedis
1.在pom文件中加入jedis依赖
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>2.9.0</version>
</dependency>
2..application.properties中加入jedispool相关配置
spring.redis.host=127.0.0.1 spring.redis.database=0 spring.redis.port=6379 spring.redis.password= spring.redis.timeout=10 spring.redis.jedis.pool.max-active=10 spring.redis.jedis.pool.max-idle=10 spring.redis.jedis.pool.min-idle=10 spring.redis.jedis.pool.max-wait=10000
3.编写JedisPoolFactory类,用于产生jedis对象
@Configuration
public class JedisPoolFactory {
@Value("${spring.redis.host}")
private String host;
@Value("${spring.redis.port}")
private int port;
@Value("${spring.redis.password}")
private String password;
@Value("${spring.redis.timeout}")
private int timeout;
@Value("${spring.redis.jedis.pool.max-active}")
private int maxActive;
@Value("${spring.redis.jedis.pool.max-idle}")
private int maxIdle;
@Value("${spring.redis.jedis.pool.min-idle}")
private int minIdle;
@Value("${spring.redis.jedis.pool.max-wait}")
private long maxWaitMillis;
@Bean
public JedisPool generateJedisPoolFactory() {
JedisPoolConfig poolConfig = new JedisPoolConfig();
poolConfig.setMaxTotal(maxActive);
poolConfig.setMaxIdle(maxIdle);
poolConfig.setMinIdle(minIdle);
poolConfig.setMaxWaitMillis(maxWaitMillis);
JedisPool jedisPool = new JedisPool(poolConfig, host, port, timeout);
return jedisPool;
}
}
4.使用方法
Jedis jedis = jedisPool.getResource();
jedis.set("test", "test");
417

被折叠的 条评论
为什么被折叠?



