Constructor and Description |
---|
Redis() |
Modifier and Type | Method and Description |
---|---|
void |
del(String key)
实现命令:DEL key,删除一个key
|
void |
expire(String key,
long timeout)
实现命令:expire 设置过期时间,单位秒
|
String |
get(String key)
实现命令:GET key,返回 key所关联的字符串值。
|
<T> T |
get(String key,
Class<T> clazz)
实现命令:GET key,返回 key 所关联的反序列化对象。
|
Object |
getObject(String key)
实现命令:GET key,返回 key 所关联的对象。
|
void |
hdel(String key,
Object... hashKeys)
实现命令:HDEL key field [field ...],删除哈希表 key 中的一个或多个指定域,不存在的域将被忽略。
|
Object |
hget(String key,
String hashKey)
实现命令:HGET key field,返回哈希表 key中给定域 field的值
|
<T> T |
hget(String key,
String hashKey,
Class<T> clazz)
实现命令:HGET key field,返回哈希表 key中给定域 field的值
|
Map<Object,Object> |
hgetall(String key)
实现命令:HGETALL key,返回哈希表 key中,所有的域和值。
|
void |
hset(String key,
String hashKey,
Object value)
实现命令:HSET key field value,将哈希表 key中的域 field的值设为 value
|
long |
incr(String key,
long delta)
实现命令:INCR key,将 key 中储存的数字值按增量递增。
|
Set<String> |
keys(String pattern)
实现命令:KEYS pattern,查找所有符合给定模式 pattern的 key
|
boolean |
lock(String lockKey,
Long lockTimeoutStamp)
Redis分布式锁-加锁
|
String |
lpop(String key)
实现命令:LPOP key,移除并返回列表 key的头元素。
|
long |
lpush(String key,
String value)
实现命令:LPUSH key value,将一个值 value插入到列表 key的表头
|
long |
rpush(String key,
String value)
实现命令:RPUSH key value,将一个值 value插入到列表 key的表尾(最右边)。
|
static String |
separatorJoin(String... elements)
Redis分割Key拼接,参考 String.join(CharSequence, CharSequence...)
示例:
|
void |
set(String key,
Object value)
实现命令:SET key value,设置一个key-value(将可序列化对象 value 关联到 key)
|
void |
set(String key,
Object value,
long timeout)
实现命令:SET key value EX seconds,设置key-value和超时时间(秒)
|
void |
set(String key,
String value)
实现命令:SET key value,设置一个key-value(将字符串对象 value 关联到 key)
|
void |
set(String key,
String value,
long timeout)
实现命令:SET key value EX seconds,设置key-value和超时时间(秒)
|
long |
ttl(String key)
实现命令:TTL key,以秒为单位,返回给定 key的剩余生存时间(TTL, time to live)。
|
void |
unlock(String lockKey,
Long lockTimeoutStamp)
Redis分布式锁-解锁
|
public boolean lock(String lockKey, Long lockTimeoutStamp)
可用于实现接口幂等性、秒杀、库存加锁等业务场景需求
注意:服务器集群间需进行时间同步,保障分布式锁的时序性
lockKey
- 分布式锁的key(唯一性)lockTimeoutStamp
- 分布式锁的超时时间戳(当前时间戳 + 超时毫秒
,推荐使用:DateUtils.getTimestamp(int)
生成此变量)public void unlock(String lockKey, Long lockTimeoutStamp)
lockKey
- 分布式锁的key(唯一性)lockTimeoutStamp
- 加锁时使用的超时时间戳public long ttl(String key)
key
- keypublic void expire(String key, long timeout)
key
- keytimeout
- 过期时间(单位:秒)public long incr(String key, long delta)
key
- 不能为空delta
- 增量数字public Set<String> keys(String pattern)
pattern
- 不能为空public void del(String key)
key
- 不能为空public void set(String key, String value)
key
- 不能为空value
- 字符串对象public void set(String key, Object value)
key
- 不能为空value
- 可序列化对象public void set(String key, Object value, long timeout)
key
- 不能为空value
- 可序列化对象timeout
- 超时时间(单位:秒)public void set(String key, String value, long timeout)
key
- 不能为空value
- 字符串对象timeout
- 超时时间(单位:秒)public String get(String key)
key
- 不能为空public Object getObject(String key)
key
- 不能为空public <T> T get(String key, Class<T> clazz)
T
- 反序列化对象类型key
- 不能为空clazz
- 反序列化对象类public void hset(String key, String hashKey, Object value)
设置hashKey的值
key
- 不能为空hashKey
- 不能为空value
- 设置的值public Object hget(String key, String hashKey)
从hashKey获取值
key
- 不能为空hashKey
- 不能为空public <T> T hget(String key, String hashKey, Class<T> clazz)
从hashKey获取值
T
- 反序列化对象类型key
- 不能为空hashKey
- 不能为空clazz
- 反序列化对象类public void hdel(String key, Object... hashKeys)
删除给定的hashKeys
key
- 不能为空hashKeys
- 不能为空public Map<Object,Object> hgetall(String key)
获取存储在键上的整个散列
key
- 不能为空public long lpush(String key, String value)
key
- 不能为空value
- 插入的值public long rpush(String key, String value)
key
- 不能为空value
- 插入的值public String lpop(String key)
key
- 不能为空public static String separatorJoin(String... elements)
示例:注意,如果元素为null,则添加String message = Redis.join("Java", "is", "cool"); // message returned is: "Java:is:cool"
"null"
。elements
- 要连接在一起的元素。Copyright © 2022 Pivotal Software, Inc.. All rights reserved.