public class RedisHelper.KeyOps extends Object
| 构造器和说明 |
|---|
KeyOps() |
| 限定符和类型 | 方法和说明 |
|---|---|
long |
delete(Collection<String> keys)
根据 keys, 批量删除 key-value
注:若 redis 中,不存在对应的 key, 那么计数不会加 1, 即:
redis 中存在的 key-value 里,有名为 a1、a2 的 key,
删除时,传的集合是 a1、a2、a3,那么返回结果为 2。
|
boolean |
delete(String key)
根据 key, 删除 redis 中的对应 key-value
注:若删除失败, 则返回 false。
|
byte[] |
dump(String key)
将 key 对应的 value 值进行序列化,并返回序列化后的 value 值。
|
boolean |
expire(String key,
long timeToLive,
TimeUnit unit)
给指定的 key 对应的 key-value 设置:多久过时
注:过时后,redis 会自动删除对应的 key-value。
|
boolean |
expireAt(String key,
Date date)
给指定的 key 对应的 key-value 设置:什么时候过时
注:过时后,redis 会自动删除对应的 key-value。
|
long |
getExpire(String key)
获取 key 对应的 key-value 的过期时间
注:若 key-value 永不过期, 那么返回的为 -1。
|
long |
getExpire(String key,
TimeUnit unit)
获取 key 对应的 key-value 的过期时间
注:若 key-value 永不过期, 那么返回的为 -1。
|
boolean |
hasKey(String key)
redis 中是否存在,指定 key 的 key-value
|
Set<String> |
keys(String pattern)
找到所有匹配 pattern 的 key,并返回该 key 的集合.
|
boolean |
move(String key,
int dbIndex)
将当前数据库中的 key 对应的 key-value,移动到对应位置的数据库中。
|
boolean |
persist(String key)
移除 key 对应的 key-value 的过期时间, 使该 key-value 一直存在
注:若 key 对应的 key-value,本身就是一直存在(无过期时间的), 那么 persist 方法会返回 false;
若没有 key 对应的 key-value 存在,本那么 persist 方法会返回 false;
|
String |
randomKey()
从 redis 的所有 key 中,随机获取一个 key
注:若 redis 中不存在任何 key-value,那么这里返回 null
|
void |
rename(String oldKey,
String newKey)
重命名对应的 oldKey 为新的 newKey
注:若 oldKey 不存在, 则会抛出异常.
|
boolean |
renameIfAbsent(String oldKey,
String newKey)
当 redis 中不存在 newKey 时, 重命名对应的 oldKey 为新的 newKey。
|
void |
restore(String key,
byte[] value,
long timeToLive,
TimeUnit unit)
将给定的 value 值,反序列化到 redis 中, 形成新的 key-value。
|
void |
restore(String key,
byte[] value,
long timeToLive,
TimeUnit unit,
boolean replace)
将给定的 value 值,反序列化到 redis 中, 形成新的 key-value。
|
org.springframework.data.redis.connection.DataType |
type(String key)
获取 key 对应的 value 的数据类型
注:若 redis 中不存在该 key 对应的 key-value, 那么这里返回 NONE。
|
public boolean delete(String key)
注:若删除失败, 则返回 false。
若 redis 中,不存在该 key, 那么返回的也是 false。 所以,不能因为返回了 false,就认为 redis 中一定还存 在该 key 对应的 key-value。
key - 要删除的 keypublic long delete(Collection<String> keys)
注:若 redis 中,不存在对应的 key, 那么计数不会加 1, 即: redis 中存在的 key-value 里,有名为 a1、a2 的 key, 删除时,传的集合是 a1、a2、a3,那么返回结果为 2。
keys - 要删除的 key 集合public byte[] dump(String key)
注:若不存在对应的 key, 则返回 null。 注:dump 时,并不会删除 redis 中的对应 key-value。 注:dump 功能与 restore 相反。
key - 要序列化的 value 的 keypublic void restore(String key, byte[] value, long timeToLive, TimeUnit unit)
key - value 对应的 keyvalue - 要反序列的 value 值。
注:这个值可以由 dump(String) 获得timeToLive - 反序列化后的 key-value 的存活时长unit - timeToLive 的单位org.springframework.data.redis.RedisSystemException - 如果 redis 中已存在同样的 key 时,抛出此异常public void restore(String key, byte[] value, long timeToLive, TimeUnit unit, boolean replace)
key - value 对应的 keyvalue - 要反序列的 value 值。
注:这个值可以由 dump(String) 获得timeToLive - 反序列化后的 key-value 的存活时长unit - timeToLive 的单位replace - 若 redis 中已经存在了相同的 key, 是否替代原来的 key-valueorg.springframework.data.redis.RedisSystemException - 如果 redis 中已存在同样的key, 且 replace 为 false 时,抛出此异常public boolean hasKey(String key)
key - 指定的 keypublic boolean expire(String key, long timeToLive, TimeUnit unit)
注:过时后,redis 会自动删除对应的 key-value。 注:若 key 不存在,那么也会返回 false。
key - 指定的 keytimeToLive - 过时时间unit - timeout 的单位public boolean expireAt(String key, Date date)
注:过时后,redis 会自动删除对应的 key-value。 注:若 key 不存在,那么也会返回 false。
key - 指定的 keydate - 啥时候过时public Set<String> keys(String pattern)
提示:若 redis 中键值对较多,此方法耗时相对较长,慎用!慎用!慎用!
pattern - 匹配模板。
注:常用的通配符有:
? 有且只有一个;
* >=0 哥;public boolean move(String key, int dbIndex)
注:单机版的 redis,默认将存储分为 16 个 db, index 为 0 到 15。 注:同一个 db 下,key 唯一; 但是在不同 db 中,key 可以相同。 注:若目标 db 下,已存在相同的 key, 那么 move 会失败,返回 false。
key - 定位要移动的 key-value 的 keydbIndex - 要移动到哪个 dbpublic boolean persist(String key)
注:若 key 对应的 key-value,本身就是一直存在(无过期时间的), 那么 persist 方法会返回 false; 若没有 key 对应的 key-value 存在,本那么 persist 方法会返回 false;
key - 定位 key-value 的 keypublic long getExpire(String key)
注:若 key-value 永不过期, 那么返回的为 -1。 注:若不存在 key 对应的 key-value, 那么返回的为 -2 注:若存在零碎时间不足 1 SECONDS,则(大体上)四舍五入到 SECONDS 级别。
key - 定位 key-value 的 keypublic long getExpire(String key, TimeUnit unit)
注:若 key-value 永不过期, 那么返回的为 -1。 注:若不存在 key 对应的 key-value,那么返回的为 -2 注:若存在零碎时间不足 1 unit,则(大体上)四舍五入到 unit 别。
key - 定位 key-value 的 keypublic String randomKey()
注:若 redis 中不存在任何 key-value,那么这里返回 null
public void rename(String oldKey, String newKey)
注:若 oldKey 不存在, 则会抛出异常. 注:若 redis 中已存在与 newKey 一样的 key, 那么原 key-value 会被丢弃, 只留下新的 key,以及原来的 value 示例说明:假设 redis 中已有(keyAlpha, valueAlpha)和(keyBeta, valueBeat), 在使用 rename(keyAlpha, keyBeta)替换后, redis 中只会剩下(keyBeta, valueAlpha)
oldKey - 旧的 keynewKey - 新的 keyorg.springframework.data.redis.RedisSystemException - 若 oldKey 不存在时, 抛出此异常public boolean renameIfAbsent(String oldKey, String newKey)
注:若 oldKey 不存在, 则会抛出异常.
oldKey - 旧的 keynewKey - 新的 keyorg.springframework.data.redis.RedisSystemException - 若 oldKey 不存在时, 抛出此异常public org.springframework.data.redis.connection.DataType type(String key)
注:若 redis 中不存在该 key 对应的 key-value, 那么这里返回 NONE。
key - 用于定位的 keyCopyright © 2023 Irvingsoft. All rights reserved.