美文网首页
redis 常用命令

redis 常用命令

作者: cdz620 | 来源:发表于2023-01-28 10:17 被阅读0次

    key 操作

    • exists key 检查key是否存在,若key存在返回1,否则返回0
    • scan cursor [MATCH pattern] [COUNT count], cursor - 游标。 pattern - 匹配的模式。 count - 指定从数据集里返回多少元素,默认值为 10
      • 例子1: scan 0 a* 10
      • 例子2: scan 0 match key*
      • 例子3: scan 0 match key* count 10
    • keys pattern 查找所有符合给定模式的key,通常用于查找key,线上查询禁止使用
    • expire key seconds 为key设置超时时间(单位:秒),当key过期时,会被系统自动删除
    • ttl key 以秒为单位返回key的剩余生存时间(time to live),当key不存在时返回-2,当key存在未设置生存时间时返回-1
    • pttl key 这个命令和ttl类似,它以毫秒为单位返回key的剩余生存时间
    • move key db 将key移动到指定数据库中
    • type key 返回key存储的值的类型,返回none(不存在)、string(字符串)、list(列表)、set(集合)、zset(有序集合)、hash(哈希表)

    string

    • get key 返回key的值,若key不存在则返回nil,若key存储的值不是字符串则返回错误
    • mget key [key...] 依次返回一个或多个key的值,若key不存在返回nil,若key存在但不是字符串返回nil
    • strlen key 返回key所存储的字符串的长度,当key不存在时返回0,当key存在但不是字符串时返回错误
    • append key value 将指定的值追加到key末尾,若key不存在,则创建并赋值,返回追加后的字符串长度
    • set key value [ex seconds] [px milliseconds] [nx|xx] 为key设置值,ex和px均为设置过期时间只不过单位不同,nx表示只有key不存在时才进行操作,xx表示只有key存在时才进行操作
    • setex key seconds value 设置带生存时间的key的值,以秒为单位
    • setnx key value 为key设置值,若key已存在则不进行任何操作
    • mset key value [key value...] 为一组或多组key设置值,该操作为原子操作,要么一组都设置成功,要么一组都设置失败
    • msetnx key value [key value...] 与mset不同的是msetnx中的key必须是不存在的,若有一个已存在则会整体失败

    list

    • LPUSH key value [value ...] //将一个或多个值value插入到key列表的表头(最左边)
    • RPUSH key value [value ...] //将一个或多个值value插入到key列表的表尾(最右边)
    • LPOP key //移除并返回key列表的头元素
    • RPOP key //移除并返回key列表的尾元素
    • LRANGE key start stop //返回列表key中指定区间内的元素,区间以偏移量start和stop指定
    • BLPOP key [key ...] timeout //从key列表表头弹出一个元素,若列表中没有元素,阻塞等待timeout秒,如果timeout=0,一直阻塞等待
    • BRPOP key [key ...] timeout //从key列表表尾弹出一个元素,若列表中没有元素,阻塞等待timeout秒,如果timeout=0,一直阻塞等待

    hash

    • hgetall key 获取hash表中所有field的值
    • hexists key field 判断hash表中指定field是否存在,返回1;若key或field不存在则返回0
    • hget key field 获取hash表中指定field的值,key或field不存在时返回nil
    • hmget key field[field...] 获取hash表中多个指定field的值,若key不存在返回空,若field不存在返回nil
    • hkeys key 返回hash表中的所有field,若key不存在返回空
    • hvals key 返回hash表中的所有val,若key不存在返回空
    • hdel key field[field...] 删除hash表中指定field,若key或field不存在则会忽略
    • hset key field value 将field-value设置到hash表中,若key不存在会新建hash表再赋值,若field已存在则会覆盖现有值
    • hsetnx key field value 和hset类似,但是hsetnx要求field不存在才能进行此操作,否则会返回0

    set

    • smembers key 列出集合key中的所有成员
    • scard key 返回集合key中元素的个数
    • sdiff key[key...] 获取集合的差集,若key为1个则返回集合的全部成员
    • sunion key[key...] 返回集合的并集,不存在的key会被当做空集处理
    • spop key 移除并返回集合中的一个随机元素,当key不存在时返回NULL
    • sismember key member 判断member在key中是否已存在返回0或1
    • sadd key member[member...] 将一个或多个member元素加入到集合key中,若member已存在那么会忽略此元素
    • smove source destination member 将元素member从source移动到destination;若member在destination中已存在只会删除source中的数据,若source或member不存在会返回0,若destination不存在则会创建后再进行操作
    • srem key member[member] 移除key中的一个或多个member元素,不存在的member会被忽略

    zset

    • zrange key start stop [WITHSCORES] 通过索引区间返回有序集合指定区间内的成员
    • zrangebyscore key min max [WITHSCORES] [LIMIT] 通过分数返回有序集合指定区间内的成员
    • zscore key member 返回有序集中,成员的分数值
    • zcard key 获取有序集合的成员数
    • zcount key min max 计算在有序集合中指定区间分数的成员数
    • zrank key member 返回有序集合中指定成员的索引

    相关文章

      网友评论

          本文标题:redis 常用命令

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