zoukankan      html  css  js  c++  java
  • redis的list、set、hash、sorted set类型

    List

    Redis的列表(List)数据类型可以被看作简单的字符串列表。列表按照插入顺序排序。在操作Redis的列表时,可以将一个元素插入这个列表的头部或尾部。一个列表大约可以存储2*32-1个元素。

    #从左向右将多个值插入列表中
    LPUSH key value value ...
    #从左向右将多个值插入列表中
    RPUSH key value value ...
    #查看列表里面所有的值(正向索引最开头是0,反向索引最开头是-1)
    LRANGE key 0 -1
    #根据下标(index)取出列表中的值
    LINDEX key index
    #更具下标更新里面一个值
    LSET key index value
    #从左到右移除某个元素 count(移除的元素个数,如果为负数则移除位置相反) value(要移除的元素)
    LREM key count value
    #在value后面插入一个元素value1
    LINSERT key after value value1
    #在value前面插入一个元素value1
    LINSERT key before value value1
    #将值插入列表头部
    LPUSHX key value
    #将值插入列表尾部
    RPUSHX key value
    #统计列表长度
    LLEN key
    #返回并删除列表的头元素
    LPOP key
    #返回并删除列表的尾元素
    RPOP key
    #在指定时间内删除列表的头元素
    BLPOP key timeout
    #在指定时间内删除列表的尾元素
    BRPOP key timeout
    #在指定区间内修改列表
    LTRIM key start stop
    #将列表尾元素移动到另一张表中
    RPOPLPUSH key1 key2
    #在指定时间内移动列表元素到另一张表
    BRPOPLPUSH key1 key2 timeout
    

    Hash

    Redis的Hash类型是一个String类型的域(field)和值(value)的映射表,Hash数值类型常常用来存储对象信息。在Redis中,每个哈希表可以存储2*32-1个键值对也就是40多亿个数据。

    #设置哈希表域的值
    HSET key field value
    #获取哈希表域的值
    HGET key field
    #为哈希表不存在的域设值
    HSETNX key field value
    #设置多个值
    HMSET key field1 value1 field2 values
    #获取多个值
    HMGET key field1 field2
    #查看hash表头
    HKEYS key
    #查看所有value值
    HVALS key
    #获取哈希表里面的所有数据
    HGETALL key
    #把值加上一个num
    HINCRBYFLOAT key field num
    #把值减去一个num
    HINCRBYFLOAT key field -num
    #统计哈希表中域的数量
    HLEN key
    #统计域的值的字符串长度
    HSTRLEN key field
    #删除哈希表中的多个域
    HDEL key field
    #判断哈希表中的域是否存在
    HEXISTS key field
    
    

    Set

    Redis的数据类型集合(Set)是String类型的无序集合。集合无序且不存在重复的元素,每个元素都是唯一的。集合是通过哈希表来实现的,所以使用集合进行增加、删除、查询操作时的效率特别高,复杂度为O(1)。一个集合所能存储的最大容量为2*32-1个元素。

    #添加多个元素到集合中
    SADD key member...
    #移动集合元素到另一个集合
    SMOVE source destination member
    #求出两个数的交集,显示在客户端上
    SINTER key1 key2
    #求出两个数的交集,结果返回给目标(dest),不显示在客户端上
    SINTERSTORTE dest key1 key2
    #求出两个数的并集,显示在客户端上
    SUNION key1 key2
    #求出两个数的并集,结果返回给目标(dest),不显示在客户端上
    SUNIONSTORTE dest key1 key2
    #求出两个数的差集,显示在客户端上
    SDIFF key1 key2
    #判断某个元素是否在集合中
    SISMEMBER key number
    #获取集合中的所有元素
    SMEMBERS key
    #删除集合中的元素
    SPOP key 
    #获取集合中元素的数量
    SCARD key
    #删除集合中的多个元素
    SREM key member
    #随机事件
    #count如果为正数:取出一个去重的结果集(不能超过已有集)
    #count如果为负数:取出一个带重复的结果集,一定满足你的数量
    #count如果为0:不返回
    SRANDMEMBER key count
    
    

    Sorted Set

    Redis的数据类型有序集合(Sorted Set)也是String类型的集合。有序集合中不存在重复的元素,每个复合元素都有对应double类型的分数。Redis就是通过这个元素对应的分数来为集合元素进行从小到大的排序。集合中的元素是唯一的,但是集合元素对应的分数值不唯一,可以重复。

    有序列表采用哈希表来实现,当面对增加,删除,擦讯操作时,效率特别高,复杂度为O(1)。有序列表中所能存储的最大元素数量是2*32-1个。

    #添加多个元素到有序集合中
    ZADD key sorce member ...
    #获取指定区间的元素(升序)
    ZRANGE key start stop
    #获取指定区间的元素并显示元素对应的score值
    ZRANGE key start stop withscores
    #获取指定分数区间内的数据
    ZRANGEBYSCORE key min max
    #获取在指定区间内的元素(降序)
    ZREVRANGE key start stop 
    #获取元素分值
    ZSCORE key value
    #获取有序集合元素排名
    ZRANK key value
    #为分数值加上增量
    ZINCRBY key increment member
    #获取有序集合中的元素数量
    ZCARD key
    #获取在分数区间内的元素数量
    ZCOUNT key min max
    #获取在指定区间内的元素数量
    ZLEXCOUNT key min max
    #获取集合在指定范围内的元素
    ZRANGEBYLEX key min max
    #获取有序集合元素的倒序排名
    ZREVRANK key member
    #保存多个有序集合的交集
    ZINTERSTORE destination numkeys key [key...] [WEIGHTS weight [weight...]] [AGGREGATE SUM|MIN|MAX]
    #保存多个有序集合的并集
    ZUNIONSTORE destination numkeys key [key...] [WEIGHTS weight [weight...]] [AGGREGATE SUM|MIN|MAX]
    #删除有序集合中的多个元素
    ZREM key member
    #删除有序集合在指定区间内的元素
    ZREMRANGEBYLEX key min max
    #删除有序集合在指定排名区间内的元素
    ZREMRANGEBYRANK key start stop
    #删除有序集合在指定分数区间内的元素
    ZREMRANGEBYSCORE key min max
    
  • 相关阅读:
    poj 2109Power of Cryptography
    poj 2632Crashing Robots
    poj 2586Y2K Accounting Bug
    linux0.12中文件系统的一些理解
    latex初学者的经验
    关于linux0.12中的add_entry中bread中的些猜测
    uid gid euid egid详解
    关于linux0.12文件系统目录大小的一个发现
    我的初级muttrc配置
    使用STM32的USB模块中后对USB缓冲区的认识
  • 原文地址:https://www.cnblogs.com/striver20/p/13767529.html
Copyright © 2011-2022 走看看