美文网首页
Redis常用命令

Redis常用命令

作者: 追梦小窝 | 来源:发表于2020-12-31 18:24 被阅读0次

    一、字符串

    命令 说明
    set key val [ex seconds | px milliseconds] [nx|xx] 设置字符串的值
    ex:秒级过期时间
    px:毫秒级过期时间
    nx:键不存在才能设置成功,用于添加
    xx:键存在才能设置成功,用于编辑
    setnx key val 键不存在才能设置成功,用于添加
    setex key seconds val 键存在才能设置成功,用于编辑
    mset [key val ...] 批量设置键值
    get key 获取值
    mget [key ...] 批量获取值
    incr key 自增
    值非整数返回错误
    值是整数返回自增结果
    键不存在按0自增返回1
    decr key 自减
    值非整数返回错误
    值是整数返回自减结果
    键不存在按0自减返回-1
    incrby key increment 自增指定增量
    decrby key decrement 自减指定减量
    incrbyfloat key increment 自增指定浮点数
    append key val 给字符串尾部追加字符
    strlen key 计算字符串长度
    getset key val 设置新值并返回原值
    setrange key offset val 设置指定位置的字符
    getrange key start end 获取指定位置字符串

    二、哈希

    命令 说明
    hset key field val 设置字段值
    gset key field 获取字段值
    hdel key [field ...] 批量删除字段值
    hlen key 计算字段个数
    hmset key [field val ...] 批量设置字段值
    hmget key [field ...] 批量获取字段值
    hexists key field 判断字段是否存在
    hkeys key 获取该键所有字段名称
    hvals key 获取该键所有值
    hgetall key 获取该键所有字段与值
    hincrby key field increment 自增指定增量
    hincrbyfloat key field increment 自增指定浮点数增量
    hstrlen key field 计算字符串长度

    三、列表

    命令 说明
    rpush key [val ...] 从右边插入元素
    lpush key [val ...] 从左边插入元素
    linsert key [before | after] pivot val 向某元素前或后插入元素
    搜索首个pivot元素,搜索不到返回-1
    在pivot元素前或后插入元素
    lrange key start end 查找指定范围的元素列表,包括start和end下标的元素
    lindex key index 获取列表指定索引下标的元素
    llen key 获取列表的元素总数
    lpop key 从列表左侧弹出元素。例:a b c => b c
    rpop key 从列表右侧弹出元素。例:a b c => a b
    lrem key count val 删除指定元素。搜索等于val的元素删除
    count > 0 从左到右删除至多count个元素
    count < 0 从右到左删除至多count个元素
    count = 0 删除所有元素
    ltrim key start end 按照索引范围【闭区间】修剪列表,范围外的元素删除
    lset key index val 修改指定索引下标的元素
    blpop [key ...] timeout 从左侧阻塞式弹出
    brpop [key ...] timeout 从右侧阻塞式弹出
    列表为空
    timeout > 0 ,timeout秒后弹出空值,期间有元素插入将直接弹出
    timeout = 0 ,一直阻塞等待,直至有元素插入,然后弹出
    列表不为空将直接弹出
    多个键时,从左到右遍历,一旦有一个键能弹出元素,立即返回
    多个客户端对同一个键执行brpop时
    最先执行的可以获得弹出值;其余的继续阻塞

    四、集合

    命令 说明
    sadd key [member ...] 添加成员
    srem key [member ...] 删除成员
    scard key 计算成员个数
    sismember key member 判断成员是否存在于集合中
    srandmember key count 随机从集合返回指定个数成员
    spop key count 随机从集合弹出指定个数成员
    smembers key 获取所有成员
    sinter [key ...] 交集
    sunion [key ...] 并集
    sdiff [key ...] 差集
    sinterstore destination [key ...] 交集并保存为新集合 destination:新集合名称
    sunionstore destination [key ...] 并集并保存为新集合
    sdiffstore destination [key ...] 差集并保存为新集合

    五、有序集合

    命令 说明
    zadd key [nx|xx] [ch] [incr] [score member ...] 添加成员
    nx:键不存在才能设置成功,用于添加
    xx:键存在才能设置成功,用于编辑
    ch:返回操作后元素和分数发生变化的个数
    incr:对score做自增,增量为此次命令的score值
    zcard 获取成员个数
    zscore key member 获取某个成员分数
    zrank key member 计算成员的score在集合中的排名,从低到高
    zrevrank key member 计算成员的score在集合中的排名,从高到低
    zrem key [member ...] 删除成员
    zincrby key increment member 增加成员分数
    zrange key start end [withscores] 返回指定排名范围的成员,从低到高
    withscores:同时返回成员分数
    zrevrange key start end [withscores] 返回指定排名范围的成员,从高到低
    zrangebyscore key min max [withscores] [limit offset count] 返回指定分数范围的成员。从低到高
    withscores:同时返回成员分数
    limit offset count:限制输出的起始位置和个数
    min和max支持开区间、闭区间、无限小(-inf)、无限大(+inf)
    zrevrangebyscore key min max [withscores] [limit offset count] 返回指定分数范围的成员。从高到低
    zcount key min max 返回指定分数范围成员个数
    zremrangebyrank key start end 删除指定排名内的升序元素
    zremrangebyscore key min max 删除指定分数内的成员
    zinterstore destination numkeys [key ...] [weights weight] [aggregate sum|min|max] 交集并保存
    destination:新集合名称
    numkeys:需要做交集计算的键的个数
    weights:每个键的权重,交集计算时,每个键的member会将分数乘以权重。权重默认1
    aggregate:计算交集后,分值可按sum、min、max做汇总。默认sum
    zunionstore destination numkeys [key ...] [weights weight] [aggregate sum|min|max] 并集并保存。参数同上

    参考《Redis开发与运维》

    相关文章

      网友评论

          本文标题:Redis常用命令

          本文链接:https://www.haomeiwen.com/subject/xlsroktx.html