• 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 ``

  • 相关阅读:
    vss的ss.ini丢失或损坏导致的vss无法登录错误
    prtvu xsdabljc 视图代码
    安装Ehlib经验
    PHP连接MSSQL
    在Access中实现 case when功能
    快捷输入电大学号 delphi代码
    毕业预警的SP
    新系统班级名称规范化
    查询哪些学生没有做课程注册
    第一个PHP数据库查询应用
  • 原文地址:https://www.cnblogs.com/lzy1212/p/13876152.html
Copyright © 2020-2023  润新知