-- SET key value
-- 设置键key的值为value。
set yangshuo 123
-- GET key
-- 返回键key的值设置为value。
get yangshuo
-- SETEX key N value
-- 将键key的值设置为value,并且超时时间为N秒。
SETEX name 10 yangshuo
-- PSETEX key N value
-- 将键key的值设置为value,并且超时时间为N毫秒。
PSETEX name 10 yangshuo
-- GETSET key value
-- 将键key的值为value,并返回设置前的旧值。若没有旧值则返回nil。
GETSET name mygirl
-- APPEND key value
-- 如果键key存在并且值是⼀个字符串,则把value追加到现有值的末尾。
-- 返回追加value之后该value的⻓度。
-- 如果key不存在,则将key的值设置为value。
APPEND name yangshuo
-- SETRANGE key offset value
-- 从偏移量offset开始⽤value字符串覆盖键key存储的原字符串。offset从0开始
-- 返回修改后新的value字符串的⻓度。
SETRANGE name 4 jjy
get name
-- GETRANGE key start end
-- 返回键key存储的字符串的从start到end之间(包括start和end)的部分。
-- 返回value的指定⼦串。
GETRANGE name 4 6
-- INCR/DECR key
-- 将键key存储的数字值value加⼀/减⼀。
-- 若key不存在则值先初始化为0再加⼀/减⼀。
-- 若key存储的值不能被解释为数字,则返回错误。
set num 10
INCR num
DECR num
-- INCRBY/DECRBY key increment/decrement
-- 将键key存储的数字值value加上/减去⼀个increment/decrement的量。
-- 若key不存在则值先初始化为0再加/减。
-- 若key存储的值不能被解释为数字,则返回错误。
INCRBY num 10
DECRBY num 10
-- INCRBYFLOAT key increment
-- 将键key存储的浮点数值value加上⼀个increment的增量。
-- 若key不存在则值先初始化为0再执⾏加上增量的操作。
-- 若key存储的值或increment不能被解释为浮点数值,则返回错误。
INCRBYFLOAT num 1.1
-- MSET key value [key value ...]
-- 同时为多个键设置值。
MSET k1 v1 k2 v2 k3 v3
-- MGET key [key ...]
-- 返回给定的⼀个或多个键的值。
MGET k1 k2 k3
-- MSETNX key value [key value ...]
-- 当所有给定的key都不存在时才同时为多个键设置值。
-- 只要有⼀个key已经存在,那么所有值都不会被继续设置。
-- 如下k1已经存在,故无法为设置k4
MSETNX k1 v k4 v4
-- 如下k4、k5均不存在,故可以设置k4、k5
MSETNX k4 v4 k5 v5
-- DEL key [key ...]
-- 删除给定的⼀个或多个键的值。
-- 删除一个
DEL k5
-- 删除多个
DEL k4 k3 k2
-- STRLEN key
-- 获取键为key的值的字符串⻓度。
STRLEN name
-- LPUSH key element [element ...]
-- 将⼀个或多个元素添加到列表key的表头(左侧),多个值则从左⾄右依次插⼊表头;
-- 如果列表key不存在,则创建⼀个然后执⾏LPUSH插⼊操作;
-- 如果列表key存在但不是列表类型,则返回错误。
LPUSH k v1 v2 v3
-- LPUSHX key element [element ...]
-- 当且仅当key存在并且是⼀个列表的时候,才执⾏LPUSH操作。
LPUSHX k v4 v5
-- RPUSH key element [element ...]
-- 将⼀个或多个元素添加到列表key的表尾(右侧),多个值则从左⾄右依次插⼊表尾;
-- 如果列表key不存在,则创建⼀个然后执⾏RPUSH插⼊操作;
-- 如果列表key存在但不是列表类型,则返回错误。
RPUSH k v6 v7
-- RPUSHX key element [element ...]
-- 当且仅当key存在并且是⼀个列表的时候,才执⾏RPUSH操作。
RPUSHX k v8 v9
-- LPOP key [count ...]
-- 将⼀个或count个元素从列表头⽅向移除并将其返回;
-- 如果列表key不存在,则返回nil。
LPOP k
-- LLEN key
-- 返回列表key的⻓度;如果key不存在则返回0;如果key不是列表类型则返回错误。
LLEN k
-- LINDEX key index
-- 返回列表key中索引为index的元素。
LINDEX k 4
-- LINSERT key BEFORE|AFTER pivot element
-- 将元素element插⼊到列表key中,位于pivot之前(BEFORE)或者之后(AFTER)。
LINSERT k BEFORE v2 3
LINSERT k AFTER v2 4
-- LSET key index element
-- 将列表key中索引为index的元素设置为element。
LSET k 2 i1
-- LRANGE key start stop
-- 返回列表key中,位于start和stop之间的元素(包括start和stop)。
LRANGE k 1 4
-- LTRIM key start stop
-- 只保留列表key中索引为start和stop之间的元素。
LTRIM k 1 4
-- BLPOP key [key ...] timeout
-- 列表阻塞式(Blocking)弹出。是LPOP的阻塞版本,当列表中没有任何元素时阻塞,
-- 直到超时或发现新的可弹出元素为⽌。
-- BRPOP key [key ...] timeout
-- 列表阻塞式(Blocking)弹出。是RPOP的阻塞版本,当列表中没有任何元素时阻塞,
-- 直到超时或发现新的可弹出元素为⽌。
-- BRPOPLPUSH source destination timeout
-- 是RPOPLPUSH的阻塞版本,当列表source中没有任何元素时阻塞,
-- 直到超时或发现新的可弹出元素为⽌。
Redis的基本操作之列表(Lists)
最新推荐文章于 2024-07-25 15:33:59 发布