Redis基本类型及对应命令

Redis基本类型及对应命令

String(字符串)

  1. 字符串底层为字符数组储存,预分配多余空间来减少频繁扩容。

  2. 小于1M时,每次扩容为原来的两倍,多余1M时,一次扩容1M,最大空间为512M。

  3. 命令:

    set key value设置key-value
    get key获取key对应的value
    del key删除key
    setnx key valuekey不存在则设置key-value
    setex key second value设置key-value并同时超时时间设置为second
    getset key value设置key-value,并返回旧值(没有就是nil)
    psetex key 毫秒 value设置key-value,并同时以毫秒设置超时时间
    mset key1 value1 key2 value2 …设置多组key-value
    mget key1 key2…获取多个key对应的value
    msetnx key1 value1 key2 value2…当所有key都不存在时 设置多组key-value
    strlen key返回字符串的长度
    incr keyvalue是整数,自增一(不存在默认为0再自增)
    decr keyvalue是整数,自减一(不存在默认为0再自减少)
    incrby key 整数value是整数,自增整数
    decrby key 整数value是整数,减少整数
    incrbyfloat key 浮点数value是浮点数,增加浮点数

List(列表)

  1. 列表是一种链表,储存value,弹出最后一个元素后,自动被回收。

  2. 命令:

    rpush key value1 value2 …从左到右依次插入到表尾(逻辑正向)
    lpush key value1 value2 …从左到右依次插入到表头(逻辑反向)
    lpushx key value当key存在时,将value插入到左侧表头
    rpush key value当key存在时,将value插入到右侧表尾
    lpop key移除并返回列表头元素
    rpop key移除并返回列表尾元素
    blpop key1 key2… timeoutlpop的阻塞版本,按顺序将第一个有元素的列表的头元素弹出,并将key与元素一同返回;当都没有元素时阻塞直到任意一个列表有元素为止
    brpop key1 key2… timeoutrpop的阻塞版本,返回尾部元素,与blpop相反
    rpoplpush key1 key2将key1的尾元素弹出插入到key2的头部并返回
    brpoplpush key1 key2 timeout为rpoplposh的阻塞版本,当key1为空时阻塞,直到有元素或超时
    lindex key index返回下标为index的元素(0开头,负数代表倒数第几个元素)
    linsert key before|after value1 value2将value2插入到value1的前或后,value1或key不存在时不做任何操作
    llen key返回列表长度
    lrange key start stop返回列表中[start,stop]区间的元素,包含start stop 超出范围不会报错
    lrem key count valuecount=0 移除所有与value相等的值,count>0从表头开始移除数量等于count,count<0从表尾开始移除数量等于count
    ltrim key start stop移除介于[start,stop]的所有元素,不删除start stop

Hash(哈希表)

  1. 无序的,储存key-value,由数组与链表构成,类似于java的hashmap。

  2. 命令

    hset hashkey key value设置hashkey中的一个键值对
    hsetnx hashkey key value当key不存在时设置key-value
    hget hashkey key返回hashkey中的key对应的value
    hgetall hashkey返回hashkey中所有的key-value
    hkeys hashkey返回hashkey中所有的key
    hvals hashkey返回hashkey中所有的value
    hexists hashkey keykey存在返回1,否则返回0
    hdel hashkey key1 key2…删除hashkey中的多个key不存在自动忽略
    hincrby hashkey key 整数为hashkey中的key增加整数量
    hincrbyfloat hashkey key 浮点数为hashkey中的key增加浮点数量
    hlen key返回hashkey中key的数量
    hmset hashkey key1 value1 key2 value2…为hashkey增加多个key-value
    hmget hashkey key1 key2…返回hashkey中多个key的value

Set(集合)

  1. 无序的,储存key,结构类似于java的hashset。

  2. 命令:

    sadd setkey key1 key2…为set添加一个或多个key
    spop setkey随机返回并移除一个元素
    srandmember setkey [count]不提供count随机返回一个元素,count>0返回count个元素,count<0返回可能重复的count个元素
    srem setkey key1 key2…移除一个或多个元素 不存在的key被忽略
    sismember setkey key判断setkey中是否存在为key的元素
    smembers setkey返回setkey所有的元素
    scard setkey返回setkey中元素的个数
    sdiff setkey1 setkey2…返回集合全部成员,或多个集合的不同元素(差集)
    sdiffstore storekey setkey1 setkey2…sdiff命令获取的差集覆盖存入到storekey中
    sinter setkey1 setkey2…返回集合全部成员,或多个集合的重复元素(交集)
    sinterstore storekey setkey1 setkey2…sinter命令获取的交集覆盖存入到storekey中
    sunion setkey1 setkey2…返回集合全部成员,或多个集合的全部元素的集合(并集)
    sunionstore storekey setkey1 setkey2…sunion命令获取的并集覆盖存入到storekey中
    smove setkey1 setkey2 key将setkey1中的key删除并添加到setkey2中

SortedSet/ZSet(有序集合)

  1. 带有排序权重的set,存储key-score(权重),底层实现为跳跃链表。

  2. 命令:

    zadd zsetkey score1 key1 score2 key2…增加一个/多个到zset中,key存在就更新score
    zrem zsetkey key1 key2…移除zset中一个或多个成员
    zcard zsetkey返回zset中的成员个数
    zsocre zsetkey key返回key的score值
    zcount zsetkey min max返回zset中处于[min,max]中成员的个数 包含min max
    zincrby zsetkey 数量 key为zset中key的score加上数量
    zrank zsetkey key返回key的排名,从0开始从小到大
    zrevrank zsetkey key返回key的排名,从0开始从大到小
    zrange zsetkey start stop [withscores]返回zset中排名位于[start,stop]的key按照score从小到大 需要score一同返回带上withscores
    zrangebyscore zsetkey min max [withscores] [limit 起始 个数]返回zset中SCORE位于[min,max]的key按照score从小到大 需要score一同返回带上withscores,limit同sql中的一样限制返回的个数与起始位置,(min或(max代表开区间就是区间不包含min或max
    zremrangebyrank zsetkey start stop移除zset中排名位于[start,stop]中的成员
    zremrangebyscore zsetkey min max移除score位于[min,max]的成员
    zrevrange zsetkey start stop [withscores]返回有序集key中排名位于指定区间的成员 从大到小排列
    zrevrangebyscore zsetkey max min [withscores] [limit 起始 个数]返回score位于[min,max]之间的所有成员 从大到小排列
    • ZUNIONSTORE

      zunionstore storezsetkey zsetkeynumber zsetkey1 zsetkey2… [weights zset1的权重 zset2的权重…] [aggregate SUM|MIN|MAX]

      将zsetkeynumber数量的zsetkey中的所有key(并集)的score分别乘以对应的weight并相加覆盖存入到storezsetkey中

      weights:每个zset中score需要乘的权重。

      aggregate:选择当所有zset中存在重复的key是将重复的score相加,取最大还是取最小。

    • ZINTERSTORE

      zinterstore storezsetkey zsetkeynumber zsetkey1 zsetkey2… [weights zset1的权重 zset2的权重…] [aggregate SUM|MAX|MIN]

      将zsetkeynumber数量的zsetkey中的重复的key(交集)的score分别乘以对应的weight并相加覆盖存入到storezsetkey中

redis命令参考:http://doc.redisfans.com/index.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值