Package net.wenzuo.atom.redis.service
Interface RedisService
- All Known Implementing Classes:
RedisServiceImpl
public interface RedisService
- Since:
- 2023-06-15
- Author:
- Catch
-
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 空间中取消链接.
-
Method Details
-
set
保存 value- Parameters:
key- 键value- 值
-
set
保存 value 并设置过期时间- Parameters:
key- 键value- 值timeout- 超时时间unit- 时间单位
-
set
保存 value 并设置过期时间- Parameters:
key- 键value- 值timeout- 超时时间
-
setIfAbsent
如果 key 不存在则保存 value, 反之不保存- Parameters:
key- 键value- 值- Returns:
- 是否保存成功
-
setIfAbsent
如果 key 不存在则保存 value 并设置过期时间, 反之不保存- Parameters:
key- 键value- 值timeout- 超时时间unit- 时间单位- Returns:
- 是否保存成功
-
setIfAbsent
如果 key 不存在则保存 value 并设置过期时间, 反之不保存- Parameters:
key- 键value- 值timeout- 超时时间- Returns:
- 是否保存成功
-
setIfPresent
如果 key 存在则保存 value, 反之不保存- Parameters:
key- 键value- 值- Returns:
- 是否保存成功
-
setIfPresent
如果 key 存在则保存 value 并设置过期时间, 反之不保存- Parameters:
key- 键value- 值timeout- 超时时间unit- 时间单位- Returns:
- 是否保存成功
-
setIfPresent
如果 key 存在则保存 value 并设置过期时间, 反之不保存- Parameters:
key- 键value- 值timeout- 超时时间- Returns:
- 是否保存成功
-
multiSet
批量设置 key-value ,使用 redis mset 命令- Parameters:
map- key-value
-
multiSetIfAbsent
批量设置 key-value ,使用 redis mset 命令, 如果 key 不存在则保存 value, 反之不保存- Parameters:
map- key-value
-
get
获取 value- Type Parameters:
T- 泛型- Parameters:
key- 键clazz- 类型- Returns:
- 值
-
get
获取泛型 value如:
List<Object> list = redisService.get(key, List.class, Object.class)- Type Parameters:
T- 泛型- Parameters:
key- 键wrapper- 包装类inners- 内部类- Returns:
- 值
-
getAndDelete
获取 value 并删除 key- Type Parameters:
T- 泛型- Parameters:
key- 键clazz- 类型- Returns:
- 值
-
getAndDelete
获取泛型 value 并删除 key如:
List<Object> list = redisService.getAndDelete(key, List.class, Object.class)- Type Parameters:
T- 泛型- Parameters:
key- 键wrapper- 包装类inners- 内部类- Returns:
- 值
-
getAndExpire
获取 value 并设置过期时间- Type Parameters:
T- 泛型- Parameters:
key- 键timeout- 超时时间unit- 时间单位clazz- 类型- Returns:
- 值
-
getAndExpire
获取泛型 value 并设置过期时间如:
List<Object> list = redisService.getAndExpire(key, 1, TimeUnit.MINUTES, List.class, Object.class)- Type Parameters:
T- 泛型- Parameters:
key- 键timeout- 超时时间unit- 时间单位wrapper- 包装类inners- 内部类- Returns:
- 值
-
getAndExpire
获取 value 并设置过期时间- Parameters:
key- 键timeout- 超时时间clazz- 类型- Returns:
- 值
-
getAndExpire
获取泛型 value 并设置过期时间如:
List<Object> list = redisService.getAndExpire(key, Duration.ofMinutes(1), List.class, Object.class)- Type Parameters:
T- 泛型- Parameters:
key- 键timeout- 超时时间wrapper- 包装类inners- 内部类- Returns:
- 值
-
getAndPersist
获取 value 并持久化 key, 此操作会移除 key 的过期时间- Type Parameters:
T- 泛型- Parameters:
key- 键clazz- 类型- Returns:
- 值
-
getAndPersist
获取泛型 value 并持久化 key, 此操作会移除 key 的过期时间如:
List<Object> list = redisService.getAndPersist(key, List.class, Object.class)- Type Parameters:
T- 泛型- Parameters:
key- 键wrapper- 包装类inners- 内部类- Returns:
- 值
-
getAndSet
保存 value 并返回旧的 value- Type Parameters:
T- 泛型- Parameters:
key- 键value- 新值clazz- 类型- Returns:
- 旧值
-
getAndSet
保存泛型 value 并返回旧的 value如:
List<Object> list = redisService.getAndSet(key, value, List.class, Object.class)- Type Parameters:
T- 泛型- Parameters:
key- 键value- 新值wrapper- 包装类inners- 内部类- Returns:
- 旧值
-
multiGet
批量获取 value, 按键的顺序排列,不存在则用 null 填充- Parameters:
keys- 键集合- Returns:
- 值集合
-
increment
按步长为 1 递增 value- Parameters:
key- 键- Returns:
- 递增后的值
-
increment
按步长为 delta 递增 value- Parameters:
key- 键- Returns:
- 递增后的值
-
increment
按步长为 delta 递增 value- Parameters:
key- 键- Returns:
- 递增后的值
-
decrement
按步长为 delta 递减 value- Parameters:
key- 键- Returns:
- 递减后的值
-
decrement
按步长为 delta 递减 value- Parameters:
key- 键- Returns:
- 递减后的值
-
hasKey
是否存在 key- Parameters:
key- 键- Returns:
- 是否存在
-
countExistingKeys
获取 key 集合中存在的 key 数量- Parameters:
keys- 键集合- Returns:
- 存在的 key 数量
-
delete
删除 key- Parameters:
key- 键- Returns:
- 是否删除成功
-
delete
批量删除 key- Parameters:
keys- 键集合- Returns:
- 删除的数量
-
unlink
从 key 空间中取消链接. 与 delete 不同,这里的内存回收是异步发生的- Parameters:
key- 键- Returns:
- 是否成功
-
unlink
批量从 key 空间中取消链接. 与 delete 不同,这里的内存回收是异步发生的- Parameters:
keys- 键集合- Returns:
- 取消链接的数量
-
keys
找到与模式匹配的所有键匹配示例:
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
- Parameters:
pattern- 模式- Returns:
- 匹配的所有键
-
rename
将 key 重命名为 newKey- Parameters:
oldKey- 旧键newKey- 新键
-
renameIfAbsent
当 newKey 不存在时,将 key 重命名为 newKey- Parameters:
oldKey- 旧键newKey- 新键- Returns:
- 是否重命名成功
-
expire
设置 key 过期时间- Parameters:
key- 键timeout- 超时时间unit- 时间单位- Returns:
- 是否设置成功
-
expire
设置 key 过期时间- Parameters:
key- 键duration- 超时时间- Returns:
- 是否设置成功
-
expireAt
设置 key 在指定的时间过期- Parameters:
key- 键date- 指定的时间过期- Returns:
- 是否设置成功
-
expireAt
设置 key 在指定的时间过期- Parameters:
key- 键expireAt- 指定的时间过期- Returns:
- 是否设置成功
-
persist
设置 key 永不过期- Parameters:
key- 键- Returns:
- 是否设置成功
-
getExpire
获取过期时间, 单位: 秒- Parameters:
key- 键- Returns:
- 过期时间, 单位: 秒
-
getExpire
获取过期时间- Parameters:
key- 键timeUnit- 时间单位- Returns:
- 过期时间
-
hDelete
Hash 操作, 批量删除 hashKey- Parameters:
key- 键hashKeys- hash 键集合- Returns:
- 删除的数量
-
hHasKey
Hash 操作, 判断 hash 键, 是否存在- Parameters:
key- 键hashKey- hash 键- Returns:
- 是否存在
-
hGet
Hash 操作, 获取 value- Type Parameters:
T- 泛型- Parameters:
key- 键hashKey- hash 键clazz- 值类型- Returns:
- 值
-
hMultiGet
Hash 操作, 批量获取 value 返回的 value 顺序与 hashKeys 顺序一致, 不存在则用 null 填充, 存在则返回的是 JsonUtils.toJson() 的结果, 需要自行转换- Parameters:
key- 键hashKeys- hash 键集合- Returns:
- 值集合
-
hIncrement
Hash 操作, value + 1- Parameters:
key- 键hashKey- hash 键
-
hIncrement
Hash 操作, value + delta- Parameters:
key- 键hashKey- hash 键delta- 步长
-
hIncrement
Hash 操作, value + delta- Parameters:
key- 键hashKey- hash 键delta- 步长
-
hDecrement
Hash 操作, value - 1- Parameters:
key- 键hashKey- hash 键
-
hDecrement
Hash 操作, value - delta- Parameters:
key- 键hashKey- hash 键delta- 步长
-
hDecrement
Hash 操作, value - delta- Parameters:
key- 键hashKey- hash 键delta- 步长
-
hRandomKey
Hash 操作, 随机获取 hash 键- Parameters:
key- 键- Returns:
- 随机 hash 键
-
hRandomEntry
Hash 操作, 随机获取 hash 键值对, hash 值返回的是 JsonUtils.toJson() 的结果, 需要自行转换- Parameters:
key- 键- Returns:
- 随机 hash 键值对
-
hRandomKeys
Hash 操作, 随机获取指定数量的 hash 键- Parameters:
key- 键count- hash 键数量- Returns:
- hash 键集合
-
hRandomEntries
Hash 操作, 随机获取指定数量的 hash 键值对, hash 值返回的是 JsonUtils.toJson() 的结果, 需要自行转换- Parameters:
key- 键count- hash 键值对数量- Returns:
- hash 键值对集合
-
hKeys
Hash 操作, 获取 hash 键集合- Parameters:
key- 键- Returns:
- hash 键集合
-
hLengthOfValue
Hash 操作, 获取 value 长度- Parameters:
key- 键hashKey- hash 键- Returns:
- value 长度
-
hSize
Hash 操作, 获取 hash 键数量- Parameters:
key- 键- Returns:
- hash 键数量
-
hPutAll
Hash 操作, 批量保存 hash 键值对- Parameters:
key- 键kv- hash 键值对
-
hPut
Hash 操作, 保存 value- Type Parameters:
T- 泛型- Parameters:
key- 键hashKey- hash 键value- 值
-
hPutIfAbsent
Hash 操作, 仅当 hashKey 不存在时,才设置 hashKey 的值- Parameters:
key- 键hashKey- hash 键value- 值- Returns:
- 是否保存成功
-
hValues
Hash 操作, 获取所有 hash 值, hash 值返回的是 JsonUtils.toJson() 的结果, 需要自行转换- Parameters:
key- 键- Returns:
- hash 值集合
-
hEntries
Hash 操作, 获取所有 hash 键值对 返回的 Map 的 value 是 JsonUtils.toJson() 的结果, 需要自行转换- Parameters:
key- 键- Returns:
- hash 键值对
-