Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
S
SolrDataComparison
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
常超
SolrDataComparison
Commits
1a560daa
Commit
1a560daa
authored
Mar 14, 2019
by
chang_chao@founder.com.cn
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
redis 服务接口
parent
f01e5a76
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
290 additions
and
2 deletions
+290
-2
pom.xml
+11
-0
src/main/java/com/cc/solr/conf/RedisConfig.java
+45
-0
src/main/java/com/cc/solr/controller/RedisController.java
+26
-0
src/main/java/com/cc/solr/controller/TaskController.java
+2
-2
src/main/java/com/cc/solr/util/RedisUtil.java
+187
-0
src/main/resources/application.properties
+19
-0
No files found.
pom.xml
View file @
1a560daa
...
...
@@ -114,6 +114,17 @@
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-starter-jdbc
</artifactId>
</dependency>
<!-- cache -->
<dependency>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-starter-cache
</artifactId>
</dependency>
<!-- redis -->
<dependency>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-starter-data-redis
</artifactId>
</dependency>
<dependency>
<groupId>
org.mybatis.spring.boot
</groupId>
<artifactId>
mybatis-spring-boot-starter
</artifactId>
...
...
src/main/java/com/cc/solr/conf/RedisConfig.java
0 → 100644
View file @
1a560daa
package
com
.
cc
.
solr
.
conf
;
import
com.fasterxml.jackson.annotation.JsonAutoDetect
;
import
com.fasterxml.jackson.annotation.PropertyAccessor
;
import
com.fasterxml.jackson.databind.ObjectMapper
;
import
org.springframework.cache.annotation.CachingConfigurerSupport
;
import
org.springframework.cache.annotation.EnableCaching
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.data.redis.connection.RedisConnectionFactory
;
import
org.springframework.data.redis.core.RedisTemplate
;
import
org.springframework.data.redis.core.StringRedisTemplate
;
import
org.springframework.data.redis.serializer.Jackson2JsonRedisSerializer
;
/**
* Created by changc on 2019/3/14.
*/
@Configuration
@EnableCaching
public
class
RedisConfig
extends
CachingConfigurerSupport
{
/**
* RedisTemplate配置
* @param factory
* @return
*/
@Bean
public
RedisTemplate
<
String
,
String
>
redisTemplate
(
RedisConnectionFactory
factory
)
{
StringRedisTemplate
template
=
new
StringRedisTemplate
(
factory
);
//定义key序列化方式
//RedisSerializer<String> redisSerializer = new StringRedisSerializer();//Long类型会出现异常信息;需要我们上面的自定义key生成策略,一般没必要
//定义value的序列化方式
Jackson2JsonRedisSerializer
jackson2JsonRedisSerializer
=
new
Jackson2JsonRedisSerializer
(
Object
.
class
);
ObjectMapper
om
=
new
ObjectMapper
();
om
.
setVisibility
(
PropertyAccessor
.
ALL
,
JsonAutoDetect
.
Visibility
.
ANY
);
om
.
enableDefaultTyping
(
ObjectMapper
.
DefaultTyping
.
NON_FINAL
);
jackson2JsonRedisSerializer
.
setObjectMapper
(
om
);
template
.
setValueSerializer
(
jackson2JsonRedisSerializer
);
template
.
setHashValueSerializer
(
jackson2JsonRedisSerializer
);
template
.
afterPropertiesSet
();
return
template
;
}
}
\ No newline at end of file
src/main/java/com/cc/solr/controller/RedisController.java
0 → 100644
View file @
1a560daa
package
com
.
cc
.
solr
.
controller
;
import
com.cc.solr.util.RedisUtil
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestMethod
;
import
org.springframework.web.bind.annotation.RestController
;
/**
* Created by changc on 2019/3/14.
*/
@RestController
public
class
RedisController
{
@Autowired
private
RedisUtil
redisUtil
;
@RequestMapping
(
value
=
"/test"
,
method
=
RequestMethod
.
GET
)
public
void
demoTest
(){
redisUtil
.
set
(
"2"
,
"value22222"
);
}
}
\ No newline at end of file
src/main/java/com/cc/solr/controller/TaskController.java
View file @
1a560daa
...
...
@@ -29,7 +29,7 @@ public class TaskController {
//每隔5分执行一次:0 */5 * * * ?
//每个整点执行一次:0 0 0/1 * * ?
//每天凌晨2点执行一次:0 0 2 * * ?
@Scheduled
(
cron
=
"0/5 * * * * *"
)
//
@Scheduled(cron = "0/5 * * * * *")
public
String
sourcesolrdatatask
()
throws
Exception
{
long
starttime
=
System
.
currentTimeMillis
();
Properties
properties
=
propertiesUtil
.
propertiesUtil
(
"solr.properties"
);
...
...
@@ -103,7 +103,7 @@ public class TaskController {
@ResponseBody
@RequestMapping
(
"/comparisonsolrdatatask"
)
@Scheduled
(
cron
=
"0/5 * * * * *"
)
//
@Scheduled(cron = "0/5 * * * * *")
public
String
comparisonsolrdatatask
()
throws
Exception
{
long
starttime
=
System
.
currentTimeMillis
();
Properties
properties
=
propertiesUtil
.
propertiesUtil
(
"solr.properties"
);
...
...
src/main/java/com/cc/solr/util/RedisUtil.java
0 → 100644
View file @
1a560daa
package
com
.
cc
.
solr
.
util
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.data.redis.core.*
;
import
org.springframework.stereotype.Component
;
import
java.io.Serializable
;
import
java.util.List
;
import
java.util.Set
;
import
java.util.concurrent.TimeUnit
;
/**
* Created by changc on 2019/3/14.
*/
@Component
public
class
RedisUtil
{
@Autowired
private
RedisTemplate
redisTemplate
;
/**
* 写入缓存
* @param key
* @param value
* @return
*/
public
boolean
set
(
final
String
key
,
Object
value
)
{
boolean
result
=
false
;
try
{
ValueOperations
<
Serializable
,
Object
>
operations
=
redisTemplate
.
opsForValue
();
operations
.
set
(
key
,
value
);
result
=
true
;
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
return
result
;
}
/**
* 写入缓存设置时效时间
* @param key
* @param value
* @return
*/
public
boolean
set
(
final
String
key
,
Object
value
,
Long
expireTime
)
{
boolean
result
=
false
;
try
{
ValueOperations
<
Serializable
,
Object
>
operations
=
redisTemplate
.
opsForValue
();
operations
.
set
(
key
,
value
);
redisTemplate
.
expire
(
key
,
expireTime
,
TimeUnit
.
SECONDS
);
result
=
true
;
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
return
result
;
}
/**
* 批量删除对应的value
* @param keys
*/
public
void
remove
(
final
String
...
keys
)
{
for
(
String
key
:
keys
)
{
remove
(
key
);
}
}
/**
* 批量删除key
* @param pattern
*/
public
void
removePattern
(
final
String
pattern
)
{
Set
<
Serializable
>
keys
=
redisTemplate
.
keys
(
pattern
);
if
(
keys
.
size
()
>
0
)
redisTemplate
.
delete
(
keys
);
}
/**
* 删除对应的value
* @param key
*/
public
void
remove
(
final
String
key
)
{
if
(
exists
(
key
))
{
redisTemplate
.
delete
(
key
);
}
}
/**
* 判断缓存中是否有对应的value
* @param key
* @return
*/
public
boolean
exists
(
final
String
key
)
{
return
redisTemplate
.
hasKey
(
key
);
}
/**
* 读取缓存
* @param key
* @return
*/
public
Object
get
(
final
String
key
)
{
Object
result
=
null
;
ValueOperations
<
Serializable
,
Object
>
operations
=
redisTemplate
.
opsForValue
();
result
=
operations
.
get
(
key
);
return
result
;
}
/**
* 哈希 添加
* @param key
* @param hashKey
* @param value
*/
public
void
hmSet
(
String
key
,
Object
hashKey
,
Object
value
){
HashOperations
<
String
,
Object
,
Object
>
hash
=
redisTemplate
.
opsForHash
();
hash
.
put
(
key
,
hashKey
,
value
);
}
/**
* 哈希获取数据
* @param key
* @param hashKey
* @return
*/
public
Object
hmGet
(
String
key
,
Object
hashKey
){
HashOperations
<
String
,
Object
,
Object
>
hash
=
redisTemplate
.
opsForHash
();
return
hash
.
get
(
key
,
hashKey
);
}
/**
* 列表添加
* @param k
* @param v
*/
public
void
lPush
(
String
k
,
Object
v
){
ListOperations
<
String
,
Object
>
list
=
redisTemplate
.
opsForList
();
list
.
rightPush
(
k
,
v
);
}
/**
* 列表获取
* @param k
* @param l
* @param l1
* @return
*/
public
List
<
Object
>
lRange
(
String
k
,
long
l
,
long
l1
){
ListOperations
<
String
,
Object
>
list
=
redisTemplate
.
opsForList
();
return
list
.
range
(
k
,
l
,
l1
);
}
/**
* 集合添加
* @param key
* @param value
*/
public
void
add
(
String
key
,
Object
value
){
SetOperations
<
String
,
Object
>
set
=
redisTemplate
.
opsForSet
();
set
.
add
(
key
,
value
);
}
/**
* 集合获取
* @param key
* @return
*/
public
Set
<
Object
>
setMembers
(
String
key
){
SetOperations
<
String
,
Object
>
set
=
redisTemplate
.
opsForSet
();
return
set
.
members
(
key
);
}
/**
* 有序集合添加
* @param key
* @param value
* @param scoure
*/
public
void
zAdd
(
String
key
,
Object
value
,
double
scoure
){
ZSetOperations
<
String
,
Object
>
zset
=
redisTemplate
.
opsForZSet
();
zset
.
add
(
key
,
value
,
scoure
);
}
/**
* 有序集合获取
* @param key
* @param scoure
* @param scoure1
* @return
*/
public
Set
<
Object
>
rangeByScore
(
String
key
,
double
scoure
,
double
scoure1
){
ZSetOperations
<
String
,
Object
>
zset
=
redisTemplate
.
opsForZSet
();
return
zset
.
rangeByScore
(
key
,
scoure
,
scoure1
);
}
}
src/main/resources/application.properties
View file @
1a560daa
...
...
@@ -14,3 +14,22 @@ ThreadPool.corePoolSize: 20
ThreadPool.maxPoolSize
:
200
#任务队列容量(阻塞队列)
ThreadPool.queueCapacity
:
10
# Redis数据库索引(默认为0)
spring.redis.database
=
0
# Redis服务器地址
spring.redis.host
=
47.92.48.137
# Redis服务器连接端口
spring.redis.port
=
6379
# Redis服务器连接密码(默认为空)
spring.redis.password
=
123456
# 连接池最大连接数(使用负值表示没有限制)
spring.redis.pool.max-active
=
8
# 连接池最大阻塞等待时间(使用负值表示没有限制)
spring.redis.pool.max-wait
=
-1
# 连接池中的最大空闲连接
spring.redis.pool.max-idle
=
8
# 连接池中的最小空闲连接
spring.redis.pool.min-idle
=
0
# 连接超时时间(毫秒)
spring.redis.timeout
=
6000
Write
Preview
Markdown
is supported
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