Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
F
finance-manage
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
finance-oa
finance-manage
Commits
3a69a31d
Commit
3a69a31d
authored
Jul 02, 2020
by
liguonan
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
RedisCache中所有方法参数添加final,并优化list取出效率,添加其它常用redis方法
parent
338f661d
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
90 additions
and
70 deletions
+90
-70
ruoyi/src/main/java/com/ruoyi/framework/redis/RedisCache.java
...i/src/main/java/com/ruoyi/framework/redis/RedisCache.java
+90
-70
No files found.
ruoyi/src/main/java/com/ruoyi/framework/redis/RedisCache.java
View file @
3a69a31d
package
com.ruoyi.framework.redis
;
import
java.util.ArrayList
;
import
java.util.Collection
;
import
java.util.HashSet
;
import
java.util.Iterator
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Set
;
import
java.util.concurrent.TimeUnit
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.data.redis.core.BoundSetOperations
;
import
org.springframework.data.redis.core.HashOperations
;
import
org.springframework.data.redis.core.ListOperations
;
import
org.springframework.data.redis.core.RedisTemplate
;
import
org.springframework.data.redis.core.ValueOperations
;
import
org.springframework.stereotype.Component
;
...
...
@@ -33,13 +28,10 @@ public class RedisCache
*
* @param key 缓存的键值
* @param value 缓存的值
* @return 缓存的对象
*/
public
<
T
>
ValueOperations
<
String
,
T
>
setCacheObject
(
String
key
,
T
value
)
public
<
T
>
void
setCacheObject
(
final
String
key
,
final
T
value
)
{
ValueOperations
<
String
,
T
>
operation
=
redisTemplate
.
opsForValue
();
operation
.
set
(
key
,
value
);
return
operation
;
redisTemplate
.
opsForValue
().
set
(
key
,
value
);
}
/**
...
...
@@ -49,13 +41,35 @@ public class RedisCache
* @param value 缓存的值
* @param timeout 时间
* @param timeUnit 时间颗粒度
* @return 缓存的对象
*/
public
<
T
>
ValueOperations
<
String
,
T
>
setCacheObject
(
String
key
,
T
value
,
Integer
timeout
,
TimeUnit
timeUnit
)
public
<
T
>
void
setCacheObject
(
final
String
key
,
final
T
value
,
final
Integer
timeout
,
final
TimeUnit
timeUnit
)
{
ValueOperations
<
String
,
T
>
operation
=
redisTemplate
.
opsForValue
();
operation
.
set
(
key
,
value
,
timeout
,
timeUnit
);
return
operation
;
redisTemplate
.
opsForValue
().
set
(
key
,
value
,
timeout
,
timeUnit
);
}
/**
* 设置有效时间
*
* @param key Redis键
* @param timeout 超时时间
* @return true=设置成功;false=设置失败
*/
public
boolean
expire
(
final
String
key
,
final
long
timeout
)
{
return
expire
(
key
,
timeout
,
TimeUnit
.
SECONDS
);
}
/**
* 设置有效时间
*
* @param key Redis键
* @param timeout 超时时间
* @param unit 时间单位
* @return true=设置成功;false=设置失败
*/
public
boolean
expire
(
final
String
key
,
final
long
timeout
,
final
TimeUnit
unit
)
{
return
redisTemplate
.
expire
(
key
,
timeout
,
unit
);
}
/**
...
...
@@ -64,7 +78,7 @@ public class RedisCache
* @param key 缓存键值
* @return 缓存键值对应的数据
*/
public
<
T
>
T
getCacheObject
(
String
key
)
public
<
T
>
T
getCacheObject
(
final
String
key
)
{
ValueOperations
<
String
,
T
>
operation
=
redisTemplate
.
opsForValue
();
return
operation
.
get
(
key
);
...
...
@@ -75,40 +89,33 @@ public class RedisCache
*
* @param key
*/
public
void
deleteObject
(
String
key
)
public
boolean
deleteObject
(
final
String
key
)
{
redisTemplate
.
delete
(
key
);
re
turn
re
disTemplate
.
delete
(
key
);
}
/**
* 删除集合对象
*
* @param collection
* @param collection 多个对象
* @return
*/
public
void
deleteObject
(
Collection
collection
)
public
long
deleteObject
(
final
Collection
collection
)
{
redisTemplate
.
delete
(
collection
);
re
turn
re
disTemplate
.
delete
(
collection
);
}
/**
* 缓存List数据
*
* @param key 缓存的键值
* @param
dataList
待缓存的List数据
* @param
values
待缓存的List数据
* @return 缓存的对象
*/
public
<
T
>
ListOperations
<
String
,
T
>
setCacheList
(
String
key
,
List
<
T
>
dataList
)
{
ListOperations
listOperation
=
redisTemplate
.
opsForList
();
if
(
null
!=
dataList
)
public
<
T
>
long
setCacheList
(
final
String
key
,
final
List
<
T
>
dataList
)
{
int
size
=
dataList
.
size
();
for
(
int
i
=
0
;
i
<
size
;
i
++)
{
listOperation
.
leftPush
(
key
,
dataList
.
get
(
i
));
}
}
return
listOperation
;
Long
count
=
redisTemplate
.
opsForList
().
rightPushAll
(
key
,
dataList
);
return
count
==
null
?
0
:
count
;
}
/**
...
...
@@ -117,17 +124,9 @@ public class RedisCache
* @param key 缓存的键值
* @return 缓存键值对应的数据
*/
public
<
T
>
List
<
T
>
getCacheList
(
String
key
)
public
<
T
>
List
<
T
>
getCacheList
(
final
String
key
)
{
List
<
T
>
dataList
=
new
ArrayList
<
T
>();
ListOperations
<
String
,
T
>
listOperation
=
redisTemplate
.
opsForList
();
Long
size
=
listOperation
.
size
(
key
);
for
(
int
i
=
0
;
i
<
size
;
i
++)
{
dataList
.
add
(
listOperation
.
index
(
key
,
i
));
}
return
dataList
;
return
redisTemplate
.
opsForList
().
range
(
key
,
0
,
-
1
);
}
/**
...
...
@@ -137,15 +136,10 @@ public class RedisCache
* @param dataSet 缓存的数据
* @return 缓存数据的对象
*/
public
<
T
>
BoundSetOperations
<
String
,
T
>
setCacheSet
(
String
key
,
Set
<
T
>
dataSet
)
public
<
T
>
long
setCacheSet
(
final
String
key
,
final
Set
<
T
>
dataSet
)
{
BoundSetOperations
<
String
,
T
>
setOperation
=
redisTemplate
.
boundSetOps
(
key
);
Iterator
<
T
>
it
=
dataSet
.
iterator
();
while
(
it
.
hasNext
())
{
setOperation
.
add
(
it
.
next
());
}
return
setOperation
;
Long
count
=
redisTemplate
.
opsForSet
().
add
(
key
,
dataSet
);
return
count
==
null
?
0
:
count
;
}
/**
...
...
@@ -154,12 +148,9 @@ public class RedisCache
* @param key
* @return
*/
public
<
T
>
Set
<
T
>
getCacheSet
(
String
key
)
public
<
T
>
Set
<
T
>
getCacheSet
(
final
String
key
)
{
Set
<
T
>
dataSet
=
new
HashSet
<
T
>();
BoundSetOperations
<
String
,
T
>
operation
=
redisTemplate
.
boundSetOps
(
key
);
dataSet
=
operation
.
members
();
return
dataSet
;
return
redisTemplate
.
opsForSet
().
members
(
key
);
}
/**
...
...
@@ -167,19 +158,12 @@ public class RedisCache
*
* @param key
* @param dataMap
* @return
*/
public
<
T
>
HashOperations
<
String
,
String
,
T
>
setCacheMap
(
String
key
,
Map
<
String
,
T
>
dataMap
)
public
<
T
>
void
setCacheMap
(
final
String
key
,
final
Map
<
String
,
T
>
dataMap
)
{
HashOperations
hashOperations
=
redisTemplate
.
opsForHash
();
if
(
null
!=
dataMap
)
{
for
(
Map
.
Entry
<
String
,
T
>
entry
:
dataMap
.
entrySet
())
{
hashOperations
.
put
(
key
,
entry
.
getKey
(),
entry
.
getValue
());
}
if
(
dataMap
!=
null
)
{
redisTemplate
.
opsForHash
().
putAll
(
key
,
dataMap
);
}
return
hashOperations
;
}
/**
...
...
@@ -188,10 +172,46 @@ public class RedisCache
* @param key
* @return
*/
public
<
T
>
Map
<
String
,
T
>
getCacheMap
(
String
key
)
public
<
T
>
Map
<
String
,
T
>
getCacheMap
(
final
String
key
)
{
return
redisTemplate
.
opsForHash
().
entries
(
key
);
}
/**
* 往Hash中存入数据
*
* @param key Redis键
* @param hKey Hash键
* @param value 值
*/
public
<
T
>
void
setCacheMapValue
(
final
String
key
,
final
String
hKey
,
final
T
value
)
{
redisTemplate
.
opsForHash
().
put
(
key
,
hKey
,
value
);
}
/**
* 获取Hash中的数据
*
* @param key Redis键
* @param hKey Hash键
* @return Hash中的对象
*/
public
<
T
>
T
getCacheMapValue
(
final
String
key
,
final
String
hKey
)
{
HashOperations
<
String
,
String
,
T
>
opsForHash
=
redisTemplate
.
opsForHash
();
return
opsForHash
.
get
(
key
,
hKey
);
}
/**
* 获取多个Hash中的数据
*
* @param key Redis键
* @param hKeys Hash键集合
* @return Hash对象集合
*/
public
<
T
>
List
<
T
>
getMultiCacheMapValue
(
final
String
key
,
final
Collection
<
Object
>
hKeys
)
{
Map
<
String
,
T
>
map
=
redisTemplate
.
opsForHash
().
entries
(
key
);
return
map
;
return
redisTemplate
.
opsForHash
().
multiGet
(
key
,
hKeys
);
}
/**
...
...
@@ -200,7 +220,7 @@ public class RedisCache
* @param pattern 字符串前缀
* @return 对象列表
*/
public
Collection
<
String
>
keys
(
String
pattern
)
public
Collection
<
String
>
keys
(
final
String
pattern
)
{
return
redisTemplate
.
keys
(
pattern
);
}
...
...
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