Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
jinli gu
Eladmin
Commits
083bbdc6
Commit
083bbdc6
authored
Jun 04, 2019
by
Elune
Committed by
Gitee
Jun 04, 2019
Browse files
!4 使用基于netty性能更优的lettuce代替jedis
Merge pull request !4 from Edin/master
parents
e6c23f81
5538d653
Changes
4
Hide whitespace changes
Inline
Side-by-side
eladmin-common/src/main/java/me/zhengjie/redis/RedisConfig.java
View file @
083bbdc6
...
...
@@ -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 序列化方式
...
...
@@ -127,4 +93,4 @@ public class RedisConfig extends CachingConfigurerSupport {
return
sb
.
toString
();
};
}
}
\ No newline at end of file
}
eladmin-system/src/main/java/me/zhengjie/modules/monitor/service/impl/RedisServiceImpl.java
View file @
083bbdc6
...
...
@@ -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
J
edis
Pool
pool
;
R
edis
Template
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
();
}
}
eladmin-system/src/main/resources/config/application.yml
View file @
083bbdc6
...
...
@@ -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
...
...
pom.xml
View file @
083bbdc6
...
...
@@ -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>
\ No newline at end of file
</project>
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment