美文网首页
redis数据类型

redis数据类型

作者: SetsunaHao | 来源:发表于2018-10-10 21:24 被阅读0次

    字符串

    字符串是redis中最基本的数据类型,
    可存储的数据类型:

    • 二进制数据
    • JSON化对象
    • 图片

    允许存储的最大容量:512MB

    指令

    设置值

    set key value [EX seconds] [PX milliseconds] [NX|XX]
    
    参数名 含义
    EX seconds 设置键key的过期时间,单位时秒
    PX milliseconds 设置键key的过期时间,单位时毫秒
    NX 只在key不存在时,才对key进行设置操作
    XX 只有键key存在的时候才会设置key的值

    获取值

    GET key (不存在时返回空)
    

    递增数字

    INCR key (如果不存在,会创建一个为0的值,执行一次+1,原子性操作)
    INCRBY key increment (incr bar 3  增加三,不加则+1)
    INCRBYFLOAT key increment(增加浮点数)
    

    减少数字

    DECR key (同INCR,操作为减)
    DECRBY key increment
    

    向尾部追加值

    APPEND key value (返回字符串长度)
    

    获取字符串长度

    STRLEN key (不存在返回0,中文一个字长度为2)
    

    批量设置值MSET

     MSET key value [key value ...]
    

    二进制操作

    GITBIT key offset
    SETBIT key offset value
    BITCOUNT key [statrt] [end]
    BITOP operation destkey key [key ...]
    

    散列

    散列类型的键值是一种字典结构,存储了字段值 key和value,字段值只能是字符串
    一个散列类型包含最多2^31-1个字段

    赋值取值

    HSET key field value (执行插入HSET返回1,执行更新返回0)
    HGET key field 
    HMSET key field value [field value...]
    HMGET key field [field ...]
    HGETALL key
    HKEYS key
    HVALS key
    

    判断值是否存在

     HEXISTS key field
    

    当字段不存在时才赋值

    HEXISTS key field
    

    增加数字

     HINCRBY key field increment
    

    删除字段

    HDEL key field [field ...]
    

    获取字段数量

    HLEN key
    

    列表类型

    列表类型内部使用双向链表,存储有序的字符串列表,一个列表类型最多容纳2^32-1个类型

    添加元素

    LPUSH key value [value ...] (左端添加)
    RPUSH key value [value ...] (右端添加)
    

    弹出元素

     LPOP key
     RPOP key
    

    获取列表中元素个数

    LLEN key
    

    获得列表片段

    LRANGE key start stop
    

    删除列表中指定的值

    LREM key count value
    

    获得指定索引的元素值

    LINDEX key index
    
    

    设置指定索引的元素值

    LSET key index value
    

    保留start - stop范围之间的值

    LTRIM key start stop
    

    向列表中插入元素

    LINSERT key BEFORE|AFTER pivot value
    

    将元素从一个列表移动到另一个

    RPOPLPUSH source destination(source列表执行RPOP弹出元素,再执行LPUSH将弹出元素追加到destination左边,原子操作)
    

    集合

    在集合中每个元素都不重复,无序,内部使用hast table,一个集合类型(set)键可以存储最多2^32-1个字符串

    增加元素

    SADD key member [member ...]
    

    删除元素

    SREM key member [member ...]
    

    获取元素

    SMEMBERS key (获取所有元素)
    
    

    判断集合中是否存在元素

    SISMEMBER key member (存在返回1,不存在返回0)
    

    集合间运算

    SDIFF key [key ...] (求差集)
    SINTER key [key ...] (求交集)
    SUNION key [key ...] (并集)
    

    获得集合中元素个数

    SCARD key
    

    集合运算并且存储结果

    SDIFFSTORE destination key [key ...]
    SINTERSTORE destination key [key ...]
    SUNIONSTORE destination key [key ...]
    

    随机获得集合中的元素

    SRANDMEMBER key [count]
    

    从集合中弹出元素

    SPOP key [count]
    

    有序集合

    有序集合使用散列表和跳跃表实现,

    增加元素

     ZADD key [NX|XX] [CH] [INCR] score member [score member ...]
    

    获得元素分数

    ZSCORE key member
    

    获得排名范围内的元素

    ZRANGE key start stop [WITHSCORES]
    ZREVRANGE key start stop [WITHSCORES]
    

    获得分数范围内的元素

     ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT offset count]
    

    增加某个元素的分数

     ZINCRBY key increment member
    

    获得集合中元素的数量

    ZCARD key
    

    获得指定分数范围内的元素个数

    ZCOUNT key min max
    

    删除一个或多个元素

    ZREM key member [member ...]
    

    按照排名范围删除元素

    ZREMRANGEBYRANK key start stop
    

    按照分数范围删除元素

    ZREMRANGEBYSCORE key min max
    

    获得元素排名

    ZRANK key member
    
    ZREVRANGE key start stop [WITHSCORES]
    

    计算交集

     ZINTERSTORE destination numkeys key [key ...] [WEIGHTS weight] [AGGREGATE SUM|MIN|MAX
    

    相关文章

      网友评论

          本文标题:redis数据类型

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