mirror of https://github.com/elunez/eladmin
Merge branch 'master' of gitee.com:elunez/eladmin
commit
2b931a587f
|
@ -35,40 +35,6 @@ import java.time.Duration;
|
|||
@EnableConfigurationProperties(RedisProperties.class)
|
||||
public class RedisConfig extends CachingConfigurerSupport {
|
||||
|
||||
@Value("${spring.redis.host}")
|
||||
private String host;
|
||||
|
||||
@Value("${spring.redis.port}")
|
||||
private int port;
|
||||
|
||||
@Value("${spring.redis.timeout}")
|
||||
private int timeout;
|
||||
|
||||
@Value("${spring.redis.jedis.pool.max-idle}")
|
||||
private int maxIdle;
|
||||
|
||||
@Value("${spring.redis.jedis.pool.max-wait}")
|
||||
private long maxWaitMillis;
|
||||
|
||||
@Value("${spring.redis.password}")
|
||||
private String password;
|
||||
|
||||
@Value("${spring.redis.database}")
|
||||
private int database;
|
||||
|
||||
/**
|
||||
* 配置 redis 连接池
|
||||
* @return
|
||||
*/
|
||||
@Bean
|
||||
public JedisPool redisPoolFactory(){
|
||||
JedisPoolConfig jedisPoolConfig = new JedisPoolConfig();
|
||||
jedisPoolConfig.setMaxIdle(maxIdle);
|
||||
jedisPoolConfig.setMaxWaitMillis(maxWaitMillis);
|
||||
String pwd = StringUtils.isBlank(password) ? null : password;
|
||||
return new JedisPool(jedisPoolConfig, host, port, timeout, pwd, database);
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置 redis 数据默认过期时间,默认1天
|
||||
* 设置@cacheable 序列化方式
|
||||
|
@ -126,4 +92,4 @@ public class RedisConfig extends CachingConfigurerSupport {
|
|||
return sb.toString();
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -7,6 +7,7 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|||
import org.springframework.data.domain.Page;
|
||||
import org.springframework.data.domain.PageImpl;
|
||||
import org.springframework.data.domain.Pageable;
|
||||
import org.springframework.data.redis.core.RedisTemplate;
|
||||
import org.springframework.stereotype.Service;
|
||||
import redis.clients.jedis.Jedis;
|
||||
import redis.clients.jedis.JedisPool;
|
||||
|
@ -21,72 +22,38 @@ import java.util.List;
|
|||
public class RedisServiceImpl implements RedisService {
|
||||
|
||||
@Autowired
|
||||
JedisPool pool;
|
||||
RedisTemplate redisTemplate;
|
||||
|
||||
@Override
|
||||
public Page findByKey(String key, Pageable pageable){
|
||||
Jedis jedis = null;
|
||||
try{
|
||||
jedis = pool.getResource();
|
||||
List<RedisVo> redisVos = new ArrayList<>();
|
||||
|
||||
if(!key.equals("*")){
|
||||
key = "*" + key + "*";
|
||||
}
|
||||
for (String s : jedis.keys(key)) {
|
||||
RedisVo redisVo = new RedisVo(s,jedis.get(s));
|
||||
redisVos.add(redisVo);
|
||||
}
|
||||
Page<RedisVo> page = new PageImpl<RedisVo>(
|
||||
PageUtil.toPage(pageable.getPageNumber(),pageable.getPageSize(),redisVos),
|
||||
pageable,
|
||||
redisVos.size());
|
||||
return page;
|
||||
}finally{
|
||||
if(null != jedis){
|
||||
jedis.close(); // 释放资源还给连接池
|
||||
}
|
||||
List<RedisVo> redisVos = new ArrayList<>();
|
||||
if(!key.equals("*")){
|
||||
key = "*" + key + "*";
|
||||
}
|
||||
|
||||
for (Object s : redisTemplate.keys(key)) {
|
||||
RedisVo redisVo = new RedisVo(s.toString(),redisTemplate.opsForValue().get(s.toString()).toString());
|
||||
redisVos.add(redisVo);
|
||||
}
|
||||
Page<RedisVo> page = new PageImpl<RedisVo>(
|
||||
PageUtil.toPage(pageable.getPageNumber(),pageable.getPageSize(),redisVos),
|
||||
pageable,
|
||||
redisVos.size());
|
||||
return page;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void save(RedisVo redisVo) {
|
||||
Jedis jedis = null;
|
||||
try{
|
||||
jedis = pool.getResource();
|
||||
jedis.set(redisVo.getKey(),redisVo.getValue());
|
||||
}finally{
|
||||
if(null != jedis){
|
||||
jedis.close(); // 释放资源还给连接池
|
||||
}
|
||||
}
|
||||
redisTemplate.opsForValue().set(redisVo.getKey(),redisVo.getValue());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void delete(String key) {
|
||||
Jedis jedis = null;
|
||||
try{
|
||||
jedis = pool.getResource();
|
||||
jedis.del(key);
|
||||
}finally{
|
||||
if(null != jedis){
|
||||
jedis.close(); // 释放资源还给连接池
|
||||
}
|
||||
}
|
||||
redisTemplate.delete(key);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void flushdb() {
|
||||
Jedis jedis = null;
|
||||
try{
|
||||
jedis = pool.getResource();
|
||||
jedis.flushAll();
|
||||
}finally{
|
||||
if(null != jedis){
|
||||
jedis.close(); // 释放资源还给连接池
|
||||
}
|
||||
}
|
||||
redisTemplate.getConnectionFactory().getConnection().flushDb();
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -24,16 +24,6 @@ spring:
|
|||
host: 127.0.0.1
|
||||
port: 6379
|
||||
password:
|
||||
jedis:
|
||||
pool:
|
||||
#最大连接数
|
||||
max-active: 100
|
||||
#最大阻塞等待时间(负数表示没限制)
|
||||
max-wait: 2000
|
||||
#最大空闲
|
||||
max-idle: 500
|
||||
#最小空闲
|
||||
min-idle: 8
|
||||
#连接超时时间
|
||||
timeout: 5000
|
||||
|
||||
|
|
8
pom.xml
8
pom.xml
|
@ -70,12 +70,6 @@
|
|||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-data-redis</artifactId>
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
<groupId>io.lettuce</groupId>
|
||||
<artifactId>lettuce-core</artifactId>
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
<!--Spring boot end-->
|
||||
|
||||
|
@ -231,4 +225,4 @@
|
|||
</snapshots>
|
||||
</pluginRepository>
|
||||
</pluginRepositories>
|
||||
</project>
|
||||
</project>
|
||||
|
|
Loading…
Reference in New Issue