RedisTemplate API String Hash List 部分

RedisTempalte API

一、ValueOperations 字符串(String)

1 void set(K key, V value)

设置指定 key 的值

redis指令 SET Key value

2 void set(K key, V value, long timeout, TimeUnit unit)

将值 value 关联到 key ,并将 key 的过期时间设为 timeout (以秒为单位)。

redis指令 SETEX Key seconds value

java 中着这样的一行代码
if (!TimeUnit.MILLISECONDS.equals(unit) || !failsafeInvokePsetEx(connection)) {
	connection.setEx(rawKey, TimeoutUtils.toSeconds(timeout, unit), rawValue);
}

redis命令示例 
SETEX KEY_NAME TIMEOUT VALUE
SETEX mykey 60 redis

看源码在ValueOperations接口中发现了这样的一段代码

java8中的default关键字另外附带博客地址 https://blog.csdn.net/qq_35835624/article/details/80196932

default void set(K key, V value, Duration timeout) {

	Assert.notNull(timeout, "Timeout must not be null!");

	if (TimeoutUtils.hasMillis(timeout)) {
		set(key, value, timeout.toMillis(), TimeUnit.MILLISECONDS);
	} else {
		set(key, value, timeout.getSeconds(), TimeUnit.SECONDS);
	}
}

3 Boolean setIfAbsent(K key, V value)

key 不存在时,为 key 设置指定的值。

redis指令 SETNX Key value

4 Boolean setIfAbsent(K key, V value, long timeout, TimeUnit unit)

key 不存在时,为 key 设置指定的值 并将 key 的过期时间设为 timeout (以秒为单位)。

redis指令 SET Key value

5Boolean setIfPresent(K key, V value);

key 存在时,为 key 设置指定的值。

redis指令 SET Key value

6 Boolean setIfPresent(K key, V value, long timeout, TimeUnit unit)

key 存在时,为 key 设置指定的值 并将 key 的过期时间设为 timeout (以秒为单位)。

redis指令 SET Key valu

7 void multiSet(Map<? extends K, ? extends V> map)

同时设置一个或多个 key-value 对。

redis指令 MSET Key value

MSET key1 "Hello" key2 "World"

8 Boolean multiSetIfAbsent(Map<? extends K, ? extends V> map)

所有给定 key 都不存在时 同时设置一个或多个 key-value 对

redis指令 MSETNX Key value

MSETNX key1 value1 key2 value2 .. keyN valueN 

9 V get(Object key)

获取指定 key 的值。

redis指令 GET Key

10 V getAndSet(K key, V value)

将给定 key 的值设为 value ,并返回 key 的旧值

redis指令 GETSET Key value

11 List<V> multiGet(Collection<K> keys)

获取所有(一个或多个)给定 key 的值的列表。

redis指令 MGET Key1 key2

12 Long increment(K key)

将 key 中储存的数字值增一。

redis指令 INCR Key

13 Long increment(K key, long delta)

将 key 所储存的值加上给定的增量值(delta)。

redis指令 INCRBY Key increment

14 Double increment(K key, double delta);

将 key 所储存的值加上给定的增量值(delta)。double

redis指令 INCRBYFLOAT Key increment

15 Long decrement(K key);

将 key 中储存的数字值减一。

redis指令 DECR Key

16 Long decrement(K key, long delta)

将 key 中储存的数字值减去给定的增量值(delta)。

redis指令 DECRBY Key increment

17 Integer append(K key, String value)

如果 key 已经存在并且是一个字符串, value 追加到该 key 原来值(value)的末尾。

redis指令 APPEND Key value

18 String get(K key, long start, long end)

返回 key 中字符串值的子字符 下标0开始

redis指令 GETRANGE key start end

19 void set(K key, V value, long offset)

用 value 参数覆写给定 key 所储存的字符串值,覆盖的位置从偏移量 offset 开始。

redis指令 SETRANAGE key offset value

20 Long size(K key)

返回 key 所储存的字符串值的长度。

redis指令
STARLEN key

21 Boolean setBit(K key, long offset, boolean value);

22 Boolean getBit(K key, long offset)

23 Boolean getBit(K key, long offset)

二、HashOperations 哈希(Hash)

1 Long delete(H key, Object... hashKeys)

删除一个或多个哈希表字段

redis指令 HDEL key field1 field2..

2 Boolean hasKey(H key, Object hashKey)

查看哈希表 key 中,指定的字段是否存在。

redis指令 HEXISTS key field

3 HV get(H key, Object hashKey)

获取存储在哈希表中指定字段的值。

redis指令 HGET key field

4 List<HV> multiGet(H key, Collection<HK> hashKeys)

获取所有给定字段的值

redis指令 HMGET key field1 field2..

5 Long increment(H key, HK hashKey, long delta)

为哈希表 key 中的指定字段的整数值加上增量 delta 。

redis指令 HINCRBY key field increment

6 Double increment(H key, HK hashKey, double delta)

为哈希表 key 中的指定字段的整数值加上增量 delta 。 double

redis指令 HINCRBYFLOAT key field increment

7 Set<HK> keys(H key)

获取所有哈希表中的字段 获取hashKey

redis指令 HKEYS key

8 Long lengthOfValue(H key, HK hashKey)

返回与hashKey关联的值的长度。如果key或hashKey不存在,则返回0

9 Long size(H key)

获取哈希表中字段的数量

redis指令 HLEN key

10 void putAll(H key, Map<? extends HK, ? extends HV> m)

同时将多个 HK-HV/hashKey-value (域-值)对设置到哈希表 key 中。

redis指令 HMSET key field1 value1 field2 value2 ..

11 void put(H key, HK hashKey, HV value)

将哈希表 key 中的字段 hashKey 的值设为 value 。

redis指令 HSET key file value

12 Boolean putIfAbsent(H key, HK hashKey, HV value)

只有在字段 hashKey 不存在时,设置哈希表字段的值。

redis指令 HSETNX key file value

13 List<HV> values(H key)

获取哈希表中所有值 value。

redis指令 HVAls key

14 Map<HK, HV> entries(H key)

获取在哈希表中指定 key 的所有字段和值

redis指令 HGETALL key

15 Cursor<Map.Entry<HK, HV>> scan(H key, ScanOptions options)

三、ListOperations

1 List<V> range(K key, long start, long end)

获取列表指定范围内的元素

LRANGE key start stop

2 void trim(K key, long start, long end)

对一个列表进行修剪,就是说,让列表只保留指定区间内的元素,不在指定区间之内的元素都将被删除。

LTRIM key start stop

4 Long size(K key)

获取列表长度

LLEN key

3 Long leftPush(K key, V value)

将一个插入到列表头部 返回列表的长度

LPUSH key value

4 Long leftPushAll(K key, V... values)

将一个或者多个值插入到列表头部 返回列表的长度

LPUSH key value

5 Long leftPushAll(K key, Collection<V> values)

将一个Collection插入列表头部 返回列表的长度

LPUSH key value

6 Long leftPushIfPresent(K key, V value)

将一个值插入到已存在的列表头部

LPUSHX key value

7 Long leftPush(K key, V pivot, V value)

在列表的元素右边(后边)插入元素

LINSERT key BEFORE|AFTER pivot value

指令示例:LINSERT mylist BEFORE "World" "There"

代码片段 connection.lInsert(rawKey, Position.BEFORE, rawPivot, rawValue), true);
BEFORE

8 Long rightPush(K key, V value)

在列表尾部添加一个值 返回列表长度

RPUSH key value

9 Long rightPushAll(K key, V... values)

在列表尾部添加一个或多个值 返回列表长度

RPUSH key value

10 Long rightPushAll(K key, Collection<V> values)

在列表尾部添加一个Collection 返回列表长度

RPUSH key value

11 Long rightPushIfPresent(K key, V value)

为已存在的列表添加值 添加到尾部

RPUSHX key value

12 Long rightPush(K key, V pivot, V value)

在列表的元素左边(前面)插入元素

LINSERT key BEFORE|AFTER pivot value

代码片段 connection.lInsert(rawKey, Position.AFTER, rawPivot, rawValue), true);
AFTER

13 void set(K key, long index, V value)

通过索引设置列表元素的值

LSET key index value

14 Long remove(K key, long count, Object value)

根据参数 COUNT 的值,移除列表中与参数 VALUE 相等的元素。 移除数量为 COUNT

LREM key count value

15 V index(K key, long index)

通过索引获取列表中的元素

LINDEX key index

16 V leftPop(K key)

移出并获取列表的第一个元素

LPOP key

17 V leftPop(K key, long timeout, TimeUnit unit)

移出并获取列表的第一个元素, 如果列表没有元素会阻塞列表直到等待超时(timeout)或发现可弹出元素为止。

BLPOP key timeout

18 V rightPop(K key);

移出并获取列表的最后一个元素

RLPOP key

19 V rightPop(K key, long timeout, TimeUnit unit);

移出并获取列表的最后一个元素, 如果列表没有元素会阻塞列表直到等待超时(timeout)或发现可弹出元素为止。

BRPOP key timeout

20 V rightPopAndLeftPush(K sourceKey, K destinationKey)

从列表中弹出一个值,将弹出的元素插入到另外一个列表中并返回它

BRPOPLPUSH source destination

21 V rightPopAndLeftPush(K sourceKey, K destinationKey, long timeout, TimeUnit unit);

从列表中弹出一个值,将弹出的元素插入到另外一个列表中并返回它;如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止。

BRPOPLPUSH source destination timeout

3 ``

posted @ 2020-10-26 00:41  火星的巧克力  阅读(157)  评论(0编辑  收藏  举报
/* 返回顶部代码 */ TOP