Interface CachePlusOps
- All Superinterfaces:
CacheOps
- All Known Implementing Classes:
CaffeineOpsImpl,RedisOpsImpl
缓存增强
使用本类接口时, 请切记,生产环境一定要配置成 REDIS !!!
- Author:
- zuihou
-
Method Summary
Modifier and TypeMethodDescription为给定 key 设置生存时间,当 key 过期时(生存时间为 0 ),它会被自动删除。删除哈希表 key 中的一个或多个指定域,不存在的域将被忽略。hDel(CacheHashKey cacheHashKey) 删除哈希表 key 中的指定域,不存在的域将被忽略。hExists(CacheHashKey cacheHashKey) 检查给定域 field 是否存在于哈希表 hash 当中<T> CacheResult<T>hGet(CacheHashKey key, boolean... cacheNullValues) 返回哈希表 key 中给定域 field 的值。<T> CacheResult<T>hGet(CacheHashKey key, Function<CacheHashKey, T> loader, boolean... cacheNullValues) 返回哈希表 key 中给定域 field 的值。<K,V> Map<K, CacheResult<V>> hGetAll(CacheHashKey key) 返回哈希表 key 中,所有的域和值。<K,V> Map<K, CacheResult<V>> hGetAll(CacheHashKey key, Function<CacheHashKey, Map<K, V>> loader, boolean... cacheNullValues) 返回哈希表 key 中,所有的域和值。hIncrBy(CacheHashKey key, double increment) 为哈希表 key 中的域 field 的值加上增量 increment 。hIncrBy(CacheHashKey key, long increment) 为哈希表 key 中的域 field 的值加上增量 increment 。<HK> Set<HK>hKeys(CacheHashKey key) 返回哈希表 key 中的所有域。hLen(CacheHashKey key) 返回哈希表 key 中域的数量。voidhSet(CacheHashKey key, Object value, boolean... cacheNullValues) 将哈希表 key 中的域 field 的值设为 value 。<HV> List<CacheResult<HV>>hVals(CacheHashKey key) 返回哈希表 key 中所有域的值。查找所有符合给定模式 pattern 的 key 。移除给定 key 的生存时间,将这个 key 从『易失的』(带生存时间 key )转换成『持久的』(一个不带生存时间、永不过期的 key )。以毫秒为单位,返回给定 key 的剩余生存时间(TTL, time to live)。将一个或多个 member 元素加入到集合 key 当中,已经存在于集合的 member 元素将被忽略。查找所有符合给定模式 pattern 的 key 。voidscanUnlink(String pattern) 查找所有符合给定模式 pattern 的 key ,并将其删除返回集合 key 的基数(集合中元素的数量)。返回集合 key 中的所有成员。<T> T移除并返回集合中的一个随机元素。移除集合 key 中的一个或多个 member 元素,不存在的 member 元素会被忽略。以秒为单位,返回给定 key 的剩余生存时间(TTL, time to live)。返回 key 所储存的值的类型。
-
Method Details
-
keys
查找所有符合给定模式 pattern 的 key 。例子: KEYS * 匹配数据库中所有 key 。 KEYS h?llo 匹配 hello , hallo 和 hxllo 等。 KEYS a*cde 匹配 acde 和 aeeeeecde 等。 KEYS h[ae]llo 匹配 hello 和 hallo ,但不匹配 hillo 。
特殊符号用 \ 隔开
- Parameters:
pattern- 表达式- Returns:
- 符合给定模式的 key 列表
-
scan
查找所有符合给定模式 pattern 的 key 。例子: KEYS * 匹配数据库中所有 key 。 KEYS h?llo 匹配 hello , hallo 和 hxllo 等。 KEYS a*cde 匹配 acde 和 aeeeeecde 等。 KEYS h[ae]llo 匹配 hello 和 hallo ,但不匹配 hillo 。
特殊符号用 \ 隔开
- Parameters:
pattern- 表达式- Returns:
- 符合给定模式的 key 列表
-
scanUnlink
查找所有符合给定模式 pattern 的 key ,并将其删除例子: KEYS * 匹配数据库中所有 key 。 KEYS h?llo 匹配 hello , hallo 和 hxllo 等。 KEYS a*cde 匹配 acde 和 aeeeeecde 等。 KEYS h[ae]llo 匹配 hello 和 hallo ,但不匹配 hillo 。
特殊符号用 \ 隔开
- Parameters:
pattern- 表达式
-
expire
为给定 key 设置生存时间,当 key 过期时(生存时间为 0 ),它会被自动删除。- Parameters:
key- 一定不能为 null.- Returns:
- 是否成功
-
persist
移除给定 key 的生存时间,将这个 key 从『易失的』(带生存时间 key )转换成『持久的』(一个不带生存时间、永不过期的 key )。- Parameters:
key- 一定不能为 null.- Returns:
- 是否成功
-
type
返回 key 所储存的值的类型。- Parameters:
key- 一定不能为 null.- Returns:
- none (key不存在)、string (字符串)、list (列表)、set (集合)、zset (有序集)、hash (哈希表) 、stream (流)、caffeine(内存)
-
ttl
以秒为单位,返回给定 key 的剩余生存时间(TTL, time to live)。- Parameters:
key- 一定不能为 null.- Returns:
- 当 key 不存在时,返回 -2 。 当 key 存在但没有设置剩余生存时间时,返回 -1 。 否则,以秒为单位,返回 key 的剩余生存时间。
-
pTtl
以毫秒为单位,返回给定 key 的剩余生存时间(TTL, time to live)。- Parameters:
key- 一定不能为 null.- Returns:
- 当 key 不存在时,返回 -2 。当 key 存在但没有设置剩余生存时间时,返回 -1 。否则,以毫秒为单位,返回 key 的剩余生存时间
-
hSet
将哈希表 key 中的域 field 的值设为 value 。- Parameters:
key- 一定不能为 null.value- 值cacheNullValues- 是否缓存空对象
-
hGet
返回哈希表 key 中给定域 field 的值。- Parameters:
key- 一定不能为 null.cacheNullValues- 是否缓存空值- Returns:
- 默认情况下返回给定域的值, 如果给定域不存在于哈希表中, 又或者给定的哈希表并不存在, 那么命令返回 nil
-
hGet
<T> CacheResult<T> hGet(@NonNull CacheHashKey key, Function<CacheHashKey, T> loader, boolean... cacheNullValues) 返回哈希表 key 中给定域 field 的值。- Parameters:
key- 一定不能为 null.loader- 加载器cacheNullValues- 是否缓存空值- Returns:
- 默认情况下返回给定域的值, 如果给定域不存在于哈希表中, 又或者给定的哈希表并不存在, 那么命令返回 nil
-
hExists
检查给定域 field 是否存在于哈希表 hash 当中- Parameters:
cacheHashKey- 一定不能为 null.- Returns:
- 是否存在
-
hDel
删除哈希表 key 中的一个或多个指定域,不存在的域将被忽略。- Parameters:
key- 一定不能为 null.fields- 一定不能为 null.- Returns:
- 删除的数量
-
hDel
删除哈希表 key 中的指定域,不存在的域将被忽略。- Parameters:
cacheHashKey- 一定不能为 null.- Returns:
- 删除的数量
-
hLen
返回哈希表 key 中域的数量。- Parameters:
key- 一定不能为 null.- Returns:
- 哈希表中域的数量。
-
hIncrBy
为哈希表 key 中的域 field 的值加上增量 increment 。- Parameters:
key- 一定不能为 null.increment- 增量- Returns:
- 执行 HINCRBY 命令之后,哈希表 key 中域 field 的值
-
hIncrBy
为哈希表 key 中的域 field 的值加上增量 increment 。- Parameters:
key- 一定不能为 null.increment- 增量- Returns:
- 执行 HINCRBY 命令之后,哈希表 key 中域 field 的值
-
hKeys
返回哈希表 key 中的所有域。- Parameters:
key- 一定不能为 null.- Returns:
- 所有的 filed
-
hVals
返回哈希表 key 中所有域的值。- Parameters:
key- 一定不能为 null.- Returns:
- 一个包含哈希表中所有值的表。
-
hGetAll
返回哈希表 key 中,所有的域和值。 在返回值里,紧跟每个域名(field name)之后是域的值(value),所以返回值的长度是哈希表大小的两倍。- Parameters:
key- 一定不能为 null.- Returns:
- 以列表形式返回哈希表的域和域的值
-
hGetAll
<K,V> Map<K,CacheResult<V>> hGetAll(@NonNull CacheHashKey key, Function<CacheHashKey, Map<K, V>> loader, boolean... cacheNullValues) 返回哈希表 key 中,所有的域和值。 在返回值里,紧跟每个域名(field name)之后是域的值(value),所以返回值的长度是哈希表大小的两倍。- Parameters:
key- 一定不能为 null.loader- 加载回调cacheNullValues- 缓存空值- Returns:
- 以列表形式返回哈希表的域和域的值
-
sAdd
将一个或多个 member 元素加入到集合 key 当中,已经存在于集合的 member 元素将被忽略。 假如 key 不存在,则创建一个只包含 member 元素作成员的集合。 当 key 不是集合类型时,返回一个错误。- Parameters:
key- 一定不能为 null.value- 值- Returns:
- 被添加到集合中的新元素的数量,不包括被忽略的元素。
-
sRem
移除集合 key 中的一个或多个 member 元素,不存在的 member 元素会被忽略。 当 key 不是集合类型,返回一个错误。- Parameters:
key- 一定不能为 null.members- 元素- Returns:
- 被成功移除的元素的数量,不包括被忽略的元素
-
sMembers
返回集合 key 中的所有成员。 不存在的 key 被视为空集合。- Parameters:
key- 一定不能为 null.- Returns:
- 集合中的所有成员。
-
sPop
移除并返回集合中的一个随机元素。 如果只想获取一个随机元素,但不想该元素从集合中被移除的话,可以使用 SRANDMEMBER 命令。- Parameters:
key- 一定不能为 null.- Returns:
- 被移除的随机元素。 当 key 不存在或 key 是空集时,返回 nil 。
-
sCard
返回集合 key 的基数(集合中元素的数量)。- Parameters:
key- 一定不能为 null.- Returns:
- 集合的基数。 当 key 不存在时,返回 0 。
-