类 Redis
- java.lang.Object
-
- ai.yue.library.data.redis.client.Redis
-
-
构造器概要
构造器 构造器 说明 Redis()
-
方法概要
所有方法 静态方法 实例方法 具体方法 修饰符和类型 方法 说明 Booleandel(String key)实现命令:DEL key,删除一个keyvoidexpire(String key, long timeout)实现命令:expire 设置过期时间,单位秒Stringget(String key)实现命令:GET key,返回 key所关联的字符串值。<T> Tget(String key, Class<T> clazz)实现命令:GET key,返回 key 所关联的反序列化对象。ObjectgetObject(String key)实现命令:GET key,返回 key 所关联的对象。voidhdel(String key, Object... hashKeys)实现命令:HDEL key field [field ...]Objecthget(String key, String hashKey)实现命令:HGET key field,返回哈希表 key中给定域 field的值<T> Thget(String key, String hashKey, Class<T> clazz)实现命令:HGET key field,返回哈希表 key中给定域 field的值Map<Object,Object>hgetall(String key)实现命令:HGETALL key,返回哈希表 key中,所有的域和值。voidhset(String key, String hashKey, Object value)实现命令:HSET key field value,将哈希表 key中的域 field的值设为 valuelongincr(String key, long delta)实现命令:INCR key,将 key 中储存的数字值按增量递增。Set<String>keys(String pattern)实现命令:KEYS pattern,查找所有符合给定模式 pattern的 keybooleanlock(String lockKey, Long lockTimeoutStamp)Redis分布式锁-加锁Stringlpop(String key)实现命令:LPOP key,移除并返回列表 key的头元素。longlpush(String key, String value)实现命令:LPUSH key value,将一个值 value插入到列表 key的表头longrpush(String key, String value)实现命令:RPUSH key value,将一个值 value插入到列表 key的表尾(最右边)。static StringseparatorJoin(String... elements)Redis分割Key拼接,参考 String.join(CharSequence, CharSequence...) 示例:voidset(String key, Object value)实现命令:SET key value,设置一个key-value(将可序列化对象 value 关联到 key)voidset(String key, Object value, long timeout)实现命令:SET key value EX seconds,设置key-value和超时时间(秒)voidset(String key, String value)实现命令:SET key value,设置一个key-value(将字符串对象 value 关联到 key)voidset(String key, String value, long timeout)实现命令:SET key value EX seconds,设置key-value和超时时间(秒)longttl(String key)实现命令:TTL key,以秒为单位,返回给定 key的剩余生存时间(TTL, time to live)。voidunlock(String lockKey, Long lockTimeoutStamp)Redis分布式锁-解锁
-
-
-
方法详细资料
-
lock
public boolean lock(String lockKey, Long lockTimeoutStamp)
Redis分布式锁-加锁可用于实现接口幂等性、秒杀、库存加锁等业务场景需求
注意:服务器集群间需进行时间同步,保障分布式锁的时序性
- 参数:
lockKey- 分布式锁的key(唯一性)lockTimeoutStamp- 分布式锁的超时时间戳(当前时间戳 + 超时毫秒,推荐使用:DateUtils.getTimestamp(int)生成此变量)- 返回:
- 是否成功拿到锁
-
unlock
public void unlock(String lockKey, Long lockTimeoutStamp)
Redis分布式锁-解锁- 参数:
lockKey- 分布式锁的key(唯一性)lockTimeoutStamp- 加锁时使用的超时时间戳
-
ttl
public long ttl(String key)
实现命令:TTL key,以秒为单位,返回给定 key的剩余生存时间(TTL, time to live)。- 参数:
key- key- 返回:
- key的剩余生存时间(单位:秒)
-
expire
public void expire(String key, long timeout)
实现命令:expire 设置过期时间,单位秒- 参数:
key- keytimeout- 过期时间(单位:秒)
-
incr
public long incr(String key, long delta)
实现命令:INCR key,将 key 中储存的数字值按增量递增。- 参数:
key- 不能为空delta- 增量数字- 返回:
- 递增后的值
-
keys
public Set<String> keys(String pattern)
实现命令:KEYS pattern,查找所有符合给定模式 pattern的 key- 参数:
pattern- 不能为空- 返回:
- keys
-
set
public void set(String key, String value)
实现命令:SET key value,设置一个key-value(将字符串对象 value 关联到 key)- 参数:
key- 不能为空value- 字符串对象
-
set
public void set(String key, Object value)
实现命令:SET key value,设置一个key-value(将可序列化对象 value 关联到 key)- 参数:
key- 不能为空value- 可序列化对象
-
set
public void set(String key, Object value, long timeout)
实现命令:SET key value EX seconds,设置key-value和超时时间(秒)- 参数:
key- 不能为空value- 可序列化对象timeout- 超时时间(单位:秒)
-
set
public void set(String key, String value, long timeout)
实现命令:SET key value EX seconds,设置key-value和超时时间(秒)- 参数:
key- 不能为空value- 字符串对象timeout- 超时时间(单位:秒)
-
get
public <T> T get(String key, Class<T> clazz)
实现命令:GET key,返回 key 所关联的反序列化对象。- 类型参数:
T- 反序列化对象类型- 参数:
key- 不能为空clazz- 反序列化对象类- 返回:
- 反序列化对象
-
hset
public void hset(String key, String hashKey, Object value)
实现命令:HSET key field value,将哈希表 key中的域 field的值设为 value设置hashKey的值
- 参数:
key- 不能为空hashKey- 不能为空value- 设置的值
-
hget
public Object hget(String key, String hashKey)
实现命令:HGET key field,返回哈希表 key中给定域 field的值从hashKey获取值
- 参数:
key- 不能为空hashKey- 不能为空- 返回:
- hashKey的值
-
hget
public <T> T hget(String key, String hashKey, Class<T> clazz)
实现命令:HGET key field,返回哈希表 key中给定域 field的值从hashKey获取值
- 类型参数:
T- 反序列化对象类型- 参数:
key- 不能为空hashKey- 不能为空clazz- 反序列化对象类- 返回:
- hashKey的反序列化对象
-
hdel
public void hdel(String key, Object... hashKeys)
实现命令:HDEL key field [field ...],删除哈希表 key 中的一个或多个指定域,不存在的域将被忽略。删除给定的hashKeys
- 参数:
key- 不能为空hashKeys- 不能为空
-
hgetall
public Map<Object,Object> hgetall(String key)
实现命令:HGETALL key,返回哈希表 key中,所有的域和值。获取存储在键上的整个散列
- 参数:
key- 不能为空- 返回:
- map
-
lpush
public long lpush(String key, String value)
实现命令:LPUSH key value,将一个值 value插入到列表 key的表头- 参数:
key- 不能为空value- 插入的值- 返回:
- 执行 LPUSH命令后,列表的长度。
-
rpush
public long rpush(String key, String value)
实现命令:RPUSH key value,将一个值 value插入到列表 key的表尾(最右边)。- 参数:
key- 不能为空value- 插入的值- 返回:
- 执行 LPUSH命令后,列表的长度。
-
separatorJoin
public static String separatorJoin(String... elements)
Redis分割Key拼接,参考 String.join(CharSequence, CharSequence...)示例:
注意,如果元素为null,则添加String message = Redis.join("Java", "is", "cool"); // message returned is: "Java:is:cool""null"。- 参数:
elements- 要连接在一起的元素。- 返回:
- 由Redis Key分隔符分隔的元素组成的新字符串
-
-