Class RedisServiceImpl
java.lang.Object
net.wenzuo.atom.redis.service.impl.RedisServiceImpl
- All Implemented Interfaces:
RedisService
@ConditionalOnProperty(value="atom.redis.redis-service",
matchIfMissing=true)
public class RedisServiceImpl
extends Object
implements RedisService
- Since:
- 2023-06-15
- Author:
- Catch
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptioncountExistingKeys(Collection<String> keys) 获取 key 集合中存在的 key 数量按步长为 delta 递减 value按步长为 delta 递减 value删除 keydelete(Collection<String> keys) 批量删除 key设置 key 过期时间设置 key 过期时间设置 key 在指定的时间过期设置 key 在指定的时间过期<T> T获取泛型 value<T> T获取 value<T> TgetAndDelete(String key, Class<?> wrapper, Class<?>... inners) 获取泛型 value 并删除 key<T> TgetAndDelete(String key, Class<T> clazz) 获取 value 并删除 key<T> TgetAndExpire(String key, long timeout, TimeUnit unit, Class<?> wrapper, Class<?>... inners) 获取泛型 value 并设置过期时间<T> TgetAndExpire(String key, long timeout, TimeUnit unit, Class<T> clazz) 获取 value 并设置过期时间<T> TgetAndExpire(String key, Duration timeout, Class<?> wrapper, Class<?>... inners) 获取泛型 value 并设置过期时间<T> TgetAndExpire(String key, Duration timeout, Class<T> clazz) 获取 value 并设置过期时间<T> TgetAndPersist(String key, Class<?> wrapper, Class<?>... inners) 获取泛型 value 并持久化 key, 此操作会移除 key 的过期时间<T> TgetAndPersist(String key, Class<T> clazz) 获取 value 并持久化 key, 此操作会移除 key 的过期时间<T> T保存泛型 value 并返回旧的 value<T> T保存 value 并返回旧的 value获取过期时间, 单位: 秒获取过期时间是否存在 keyvoidhDecrement(String key, String hashKey) Hash 操作, value - 1voidhDecrement(String key, String hashKey, double delta) Hash 操作, value - deltavoidhDecrement(String key, String hashKey, long delta) Hash 操作, value - deltaHash 操作, 批量删除 hashKeyHash 操作, 获取所有 hash 键值对 返回的 Map 的 value 是 JsonUtils.toJson() 的结果, 需要自行转换<T> THash 操作, 获取 valueHash 操作, 判断 hash 键, 是否存在voidhIncrement(String key, String hashKey) Hash 操作, value + 1voidhIncrement(String key, String hashKey, double delta) Hash 操作, value + deltavoidhIncrement(String key, String hashKey, long delta) Hash 操作, value + deltaHash 操作, 获取 hash 键集合hLengthOfValue(String key, String hashKey) Hash 操作, 获取 value 长度hMultiGet(String key, Collection<String> hashKeys) Hash 操作, 批量获取 value 返回的 value 顺序与 hashKeys 顺序一致, 不存在则用 null 填充, 存在则返回的是 JsonUtils.toJson() 的结果, 需要自行转换<T> voidHash 操作, 保存 valuevoidHash 操作, 批量保存 hash 键值对hPutIfAbsent(String key, String hashKey, Object value) Hash 操作, 仅当 hashKey 不存在时,才设置 hashKey 的值hRandomEntries(String key, long count) Hash 操作, 随机获取指定数量的 hash 键值对, hash 值返回的是 JsonUtils.toJson() 的结果, 需要自行转换hRandomEntry(String key) Hash 操作, 随机获取 hash 键值对, hash 值返回的是 JsonUtils.toJson() 的结果, 需要自行转换hRandomKey(String key) Hash 操作, 随机获取 hash 键hRandomKeys(String key, long count) Hash 操作, 随机获取指定数量的 hash 键Hash 操作, 获取 hash 键数量Hash 操作, 获取所有 hash 值, hash 值返回的是 JsonUtils.toJson() 的结果, 需要自行转换按步长为 1 递增 value按步长为 delta 递增 value按步长为 delta 递增 value找到与模式匹配的所有键<T> List<T> multiGet(Collection<String> keys, Class<T> clazz) 批量获取 value, 按键的顺序排列,不存在则用 null 填充void批量设置 key-value ,使用 redis mset 命令multiSetIfAbsent(Map<String, ?> map) 批量设置 key-value ,使用 redis mset 命令, 如果 key 不存在则保存 value, 反之不保存设置 key 永不过期void将 key 重命名为 newKeyrenameIfAbsent(String oldKey, String newKey) 当 newKey 不存在时,将 key 重命名为 newKeyvoid保存 valuevoid保存 value 并设置过期时间void保存 value 并设置过期时间setIfAbsent(String key, Object value) 如果 key 不存在则保存 value, 反之不保存setIfAbsent(String key, Object value, long timeout, TimeUnit unit) 如果 key 不存在则保存 value 并设置过期时间, 反之不保存setIfAbsent(String key, Object value, Duration timeout) 如果 key 不存在则保存 value 并设置过期时间, 反之不保存setIfPresent(String key, Object value) 如果 key 存在则保存 value, 反之不保存setIfPresent(String key, Object value, long timeout, TimeUnit unit) 如果 key 存在则保存 value 并设置过期时间, 反之不保存setIfPresent(String key, Object value, Duration timeout) 如果 key 存在则保存 value 并设置过期时间, 反之不保存从 key 空间中取消链接.unlink(Collection<String> keys) 批量从 key 空间中取消链接.
-
Constructor Details
-
RedisServiceImpl
public RedisServiceImpl()
-
-
Method Details
-
set
Description copied from interface:RedisService保存 value- Specified by:
setin interfaceRedisService- Parameters:
key- 键value- 值
-
set
Description copied from interface:RedisService保存 value 并设置过期时间- Specified by:
setin interfaceRedisService- Parameters:
key- 键value- 值timeout- 超时时间unit- 时间单位
-
set
Description copied from interface:RedisService保存 value 并设置过期时间- Specified by:
setin interfaceRedisService- Parameters:
key- 键value- 值duration- 超时时间
-
setIfAbsent
Description copied from interface:RedisService如果 key 不存在则保存 value, 反之不保存- Specified by:
setIfAbsentin interfaceRedisService- Parameters:
key- 键value- 值- Returns:
- 是否保存成功
-
setIfAbsent
Description copied from interface:RedisService如果 key 不存在则保存 value 并设置过期时间, 反之不保存- Specified by:
setIfAbsentin interfaceRedisService- Parameters:
key- 键value- 值timeout- 超时时间unit- 时间单位- Returns:
- 是否保存成功
-
setIfAbsent
Description copied from interface:RedisService如果 key 不存在则保存 value 并设置过期时间, 反之不保存- Specified by:
setIfAbsentin interfaceRedisService- Parameters:
key- 键value- 值timeout- 超时时间- Returns:
- 是否保存成功
-
setIfPresent
Description copied from interface:RedisService如果 key 存在则保存 value, 反之不保存- Specified by:
setIfPresentin interfaceRedisService- Parameters:
key- 键value- 值- Returns:
- 是否保存成功
-
setIfPresent
Description copied from interface:RedisService如果 key 存在则保存 value 并设置过期时间, 反之不保存- Specified by:
setIfPresentin interfaceRedisService- Parameters:
key- 键value- 值timeout- 超时时间unit- 时间单位- Returns:
- 是否保存成功
-
setIfPresent
Description copied from interface:RedisService如果 key 存在则保存 value 并设置过期时间, 反之不保存- Specified by:
setIfPresentin interfaceRedisService- Parameters:
key- 键value- 值timeout- 超时时间- Returns:
- 是否保存成功
-
multiSet
Description copied from interface:RedisService批量设置 key-value ,使用 redis mset 命令- Specified by:
multiSetin interfaceRedisService- Parameters:
map- key-value
-
multiSetIfAbsent
Description copied from interface:RedisService批量设置 key-value ,使用 redis mset 命令, 如果 key 不存在则保存 value, 反之不保存- Specified by:
multiSetIfAbsentin interfaceRedisService- Parameters:
map- key-value
-
get
Description copied from interface:RedisService获取 value- Specified by:
getin interfaceRedisService- Type Parameters:
T- 泛型- Parameters:
key- 键clazz- 类型- Returns:
- 值
-
get
Description copied from interface:RedisService获取泛型 value如:
List<Object> list = redisService.get(key, List.class, Object.class)- Specified by:
getin interfaceRedisService- Type Parameters:
T- 泛型- Parameters:
key- 键wrapper- 包装类inners- 内部类- Returns:
- 值
-
getAndDelete
Description copied from interface:RedisService获取 value 并删除 key- Specified by:
getAndDeletein interfaceRedisService- Type Parameters:
T- 泛型- Parameters:
key- 键clazz- 类型- Returns:
- 值
-
getAndDelete
Description copied from interface:RedisService获取泛型 value 并删除 key如:
List<Object> list = redisService.getAndDelete(key, List.class, Object.class)- Specified by:
getAndDeletein interfaceRedisService- Type Parameters:
T- 泛型- Parameters:
key- 键wrapper- 包装类inners- 内部类- Returns:
- 值
-
getAndExpire
Description copied from interface:RedisService获取 value 并设置过期时间- Specified by:
getAndExpirein interfaceRedisService- Type Parameters:
T- 泛型- Parameters:
key- 键timeout- 超时时间unit- 时间单位clazz- 类型- Returns:
- 值
-
getAndExpire
public <T> T getAndExpire(String key, long timeout, TimeUnit unit, Class<?> wrapper, Class<?>... inners) Description copied from interface:RedisService获取泛型 value 并设置过期时间如:
List<Object> list = redisService.getAndExpire(key, 1, TimeUnit.MINUTES, List.class, Object.class)- Specified by:
getAndExpirein interfaceRedisService- Type Parameters:
T- 泛型- Parameters:
key- 键timeout- 超时时间unit- 时间单位wrapper- 包装类inners- 内部类- Returns:
- 值
-
getAndExpire
Description copied from interface:RedisService获取 value 并设置过期时间- Specified by:
getAndExpirein interfaceRedisService- Parameters:
key- 键timeout- 超时时间clazz- 类型- Returns:
- 值
-
getAndExpire
Description copied from interface:RedisService获取泛型 value 并设置过期时间如:
List<Object> list = redisService.getAndExpire(key, Duration.ofMinutes(1), List.class, Object.class)- Specified by:
getAndExpirein interfaceRedisService- Type Parameters:
T- 泛型- Parameters:
key- 键timeout- 超时时间wrapper- 包装类inners- 内部类- Returns:
- 值
-
getAndPersist
Description copied from interface:RedisService获取 value 并持久化 key, 此操作会移除 key 的过期时间- Specified by:
getAndPersistin interfaceRedisService- Type Parameters:
T- 泛型- Parameters:
key- 键clazz- 类型- Returns:
- 值
-
getAndPersist
Description copied from interface:RedisService获取泛型 value 并持久化 key, 此操作会移除 key 的过期时间如:
List<Object> list = redisService.getAndPersist(key, List.class, Object.class)- Specified by:
getAndPersistin interfaceRedisService- Type Parameters:
T- 泛型- Parameters:
key- 键wrapper- 包装类inners- 内部类- Returns:
- 值
-
getAndSet
Description copied from interface:RedisService保存 value 并返回旧的 value- Specified by:
getAndSetin interfaceRedisService- Type Parameters:
T- 泛型- Parameters:
key- 键value- 新值clazz- 类型- Returns:
- 旧值
-
getAndSet
Description copied from interface:RedisService保存泛型 value 并返回旧的 value如:
List<Object> list = redisService.getAndSet(key, value, List.class, Object.class)- Specified by:
getAndSetin interfaceRedisService- Type Parameters:
T- 泛型- Parameters:
key- 键value- 新值wrapper- 包装类inners- 内部类- Returns:
- 旧值
-
multiGet
Description copied from interface:RedisService批量获取 value, 按键的顺序排列,不存在则用 null 填充- Specified by:
multiGetin interfaceRedisService- Parameters:
keys- 键集合- Returns:
- 值集合
-
increment
Description copied from interface:RedisService按步长为 1 递增 value- Specified by:
incrementin interfaceRedisService- Parameters:
key- 键- Returns:
- 递增后的值
-
increment
Description copied from interface:RedisService按步长为 delta 递增 value- Specified by:
incrementin interfaceRedisService- Parameters:
key- 键- Returns:
- 递增后的值
-
increment
Description copied from interface:RedisService按步长为 delta 递增 value- Specified by:
incrementin interfaceRedisService- Parameters:
key- 键- Returns:
- 递增后的值
-
decrement
Description copied from interface:RedisService按步长为 delta 递减 value- Specified by:
decrementin interfaceRedisService- Parameters:
key- 键- Returns:
- 递减后的值
-
decrement
Description copied from interface:RedisService按步长为 delta 递减 value- Specified by:
decrementin interfaceRedisService- Parameters:
key- 键- Returns:
- 递减后的值
-
hasKey
Description copied from interface:RedisService是否存在 key- Specified by:
hasKeyin interfaceRedisService- Parameters:
key- 键- Returns:
- 是否存在
-
countExistingKeys
Description copied from interface:RedisService获取 key 集合中存在的 key 数量- Specified by:
countExistingKeysin interfaceRedisService- Parameters:
keys- 键集合- Returns:
- 存在的 key 数量
-
delete
Description copied from interface:RedisService删除 key- Specified by:
deletein interfaceRedisService- Parameters:
key- 键- Returns:
- 是否删除成功
-
delete
Description copied from interface:RedisService批量删除 key- Specified by:
deletein interfaceRedisService- Parameters:
keys- 键集合- Returns:
- 删除的数量
-
unlink
Description copied from interface:RedisService从 key 空间中取消链接. 与 delete 不同,这里的内存回收是异步发生的- Specified by:
unlinkin interfaceRedisService- Parameters:
key- 键- Returns:
- 是否成功
-
unlink
Description copied from interface:RedisService批量从 key 空间中取消链接. 与 delete 不同,这里的内存回收是异步发生的- Specified by:
unlinkin interfaceRedisService- Parameters:
keys- 键集合- Returns:
- 取消链接的数量
-
keys
Description copied from interface:RedisService找到与模式匹配的所有键匹配示例:
h?llo matches hello, hallo and hxllo
h*llo matches hllo and heeeello
h[ae]llo matches hello and hallo, but not hillo
h[^e]llo matches hallo, hbllo, ... but not hello
h[a-b]llo matches hallo and hbllo
- Specified by:
keysin interfaceRedisService- Parameters:
pattern- 模式- Returns:
- 匹配的所有键
-
rename
Description copied from interface:RedisService将 key 重命名为 newKey- Specified by:
renamein interfaceRedisService- Parameters:
oldKey- 旧键newKey- 新键
-
renameIfAbsent
Description copied from interface:RedisService当 newKey 不存在时,将 key 重命名为 newKey- Specified by:
renameIfAbsentin interfaceRedisService- Parameters:
oldKey- 旧键newKey- 新键- Returns:
- 是否重命名成功
-
expire
Description copied from interface:RedisService设置 key 过期时间- Specified by:
expirein interfaceRedisService- Parameters:
key- 键timeout- 超时时间unit- 时间单位- Returns:
- 是否设置成功
-
expire
Description copied from interface:RedisService设置 key 过期时间- Specified by:
expirein interfaceRedisService- Parameters:
key- 键duration- 超时时间- Returns:
- 是否设置成功
-
expireAt
Description copied from interface:RedisService设置 key 在指定的时间过期- Specified by:
expireAtin interfaceRedisService- Parameters:
key- 键date- 指定的时间过期- Returns:
- 是否设置成功
-
expireAt
Description copied from interface:RedisService设置 key 在指定的时间过期- Specified by:
expireAtin interfaceRedisService- Parameters:
key- 键expireAt- 指定的时间过期- Returns:
- 是否设置成功
-
persist
Description copied from interface:RedisService设置 key 永不过期- Specified by:
persistin interfaceRedisService- Parameters:
key- 键- Returns:
- 是否设置成功
-
getExpire
Description copied from interface:RedisService获取过期时间, 单位: 秒- Specified by:
getExpirein interfaceRedisService- Parameters:
key- 键- Returns:
- 过期时间, 单位: 秒
-
getExpire
Description copied from interface:RedisService获取过期时间- Specified by:
getExpirein interfaceRedisService- Parameters:
key- 键timeUnit- 时间单位- Returns:
- 过期时间
-
hDelete
Description copied from interface:RedisServiceHash 操作, 批量删除 hashKey- Specified by:
hDeletein interfaceRedisService- Parameters:
key- 键hashKeys- hash 键集合- Returns:
- 删除的数量
-
hHasKey
Description copied from interface:RedisServiceHash 操作, 判断 hash 键, 是否存在- Specified by:
hHasKeyin interfaceRedisService- Parameters:
key- 键hashKey- hash 键- Returns:
- 是否存在
-
hGet
Description copied from interface:RedisServiceHash 操作, 获取 value- Specified by:
hGetin interfaceRedisService- Type Parameters:
T- 泛型- Parameters:
key- 键hashKey- hash 键clazz- 值类型- Returns:
- 值
-
hMultiGet
Description copied from interface:RedisServiceHash 操作, 批量获取 value 返回的 value 顺序与 hashKeys 顺序一致, 不存在则用 null 填充, 存在则返回的是 JsonUtils.toJson() 的结果, 需要自行转换- Specified by:
hMultiGetin interfaceRedisService- Parameters:
key- 键hashKeys- hash 键集合- Returns:
- 值集合
-
hIncrement
Description copied from interface:RedisServiceHash 操作, value + 1- Specified by:
hIncrementin interfaceRedisService- Parameters:
key- 键hashKey- hash 键
-
hIncrement
Description copied from interface:RedisServiceHash 操作, value + delta- Specified by:
hIncrementin interfaceRedisService- Parameters:
key- 键hashKey- hash 键delta- 步长
-
hIncrement
Description copied from interface:RedisServiceHash 操作, value + delta- Specified by:
hIncrementin interfaceRedisService- Parameters:
key- 键hashKey- hash 键delta- 步长
-
hDecrement
Description copied from interface:RedisServiceHash 操作, value - 1- Specified by:
hDecrementin interfaceRedisService- Parameters:
key- 键hashKey- hash 键
-
hDecrement
Description copied from interface:RedisServiceHash 操作, value - delta- Specified by:
hDecrementin interfaceRedisService- Parameters:
key- 键hashKey- hash 键delta- 步长
-
hDecrement
Description copied from interface:RedisServiceHash 操作, value - delta- Specified by:
hDecrementin interfaceRedisService- Parameters:
key- 键hashKey- hash 键delta- 步长
-
hRandomKey
Description copied from interface:RedisServiceHash 操作, 随机获取 hash 键- Specified by:
hRandomKeyin interfaceRedisService- Parameters:
key- 键- Returns:
- 随机 hash 键
-
hRandomEntry
Description copied from interface:RedisServiceHash 操作, 随机获取 hash 键值对, hash 值返回的是 JsonUtils.toJson() 的结果, 需要自行转换- Specified by:
hRandomEntryin interfaceRedisService- Parameters:
key- 键- Returns:
- 随机 hash 键值对
-
hRandomKeys
Description copied from interface:RedisServiceHash 操作, 随机获取指定数量的 hash 键- Specified by:
hRandomKeysin interfaceRedisService- Parameters:
key- 键count- hash 键数量- Returns:
- hash 键集合
-
hRandomEntries
Description copied from interface:RedisServiceHash 操作, 随机获取指定数量的 hash 键值对, hash 值返回的是 JsonUtils.toJson() 的结果, 需要自行转换- Specified by:
hRandomEntriesin interfaceRedisService- Parameters:
key- 键count- hash 键值对数量- Returns:
- hash 键值对集合
-
hKeys
Description copied from interface:RedisServiceHash 操作, 获取 hash 键集合- Specified by:
hKeysin interfaceRedisService- Parameters:
key- 键- Returns:
- hash 键集合
-
hLengthOfValue
Description copied from interface:RedisServiceHash 操作, 获取 value 长度- Specified by:
hLengthOfValuein interfaceRedisService- Parameters:
key- 键hashKey- hash 键- Returns:
- value 长度
-
hSize
Description copied from interface:RedisServiceHash 操作, 获取 hash 键数量- Specified by:
hSizein interfaceRedisService- Parameters:
key- 键- Returns:
- hash 键数量
-
hPutAll
Description copied from interface:RedisServiceHash 操作, 批量保存 hash 键值对- Specified by:
hPutAllin interfaceRedisService- Parameters:
key- 键kv- hash 键值对
-
hPut
Description copied from interface:RedisServiceHash 操作, 保存 value- Specified by:
hPutin interfaceRedisService- Type Parameters:
T- 泛型- Parameters:
key- 键hashKey- hash 键value- 值
-
hPutIfAbsent
Description copied from interface:RedisServiceHash 操作, 仅当 hashKey 不存在时,才设置 hashKey 的值- Specified by:
hPutIfAbsentin interfaceRedisService- Parameters:
key- 键hashKey- hash 键value- 值- Returns:
- 是否保存成功
-
hValues
Description copied from interface:RedisServiceHash 操作, 获取所有 hash 值, hash 值返回的是 JsonUtils.toJson() 的结果, 需要自行转换- Specified by:
hValuesin interfaceRedisService- Parameters:
key- 键- Returns:
- hash 值集合
-
hEntries
Description copied from interface:RedisServiceHash 操作, 获取所有 hash 键值对 返回的 Map 的 value 是 JsonUtils.toJson() 的结果, 需要自行转换- Specified by:
hEntriesin interfaceRedisService- Parameters:
key- 键- Returns:
- hash 键值对
-