天高云淡 发表于 2016-12-20 11:13:42

Redis中各种类型及其命令

  刚刚接触Redis,在这里把命令都列出来,防止自己忘记,也能多看看
http://zk-chs.iyunv.com/blog/2253663
  在目前的redis中支持类型如下:
  1. 字符串类型 string
  2. 散列类型 hash
  3. 列表类型 linkedlist
  4. 集合类型 set
  5. 有序集合类型 sorted set
  首先介绍一些基本的命令:
  FLUSHDB:删除当前db下的数据
  FLUSHALL:删除所有
  KEYS pattern:获取符合规则的键名列表
  EXISTS key:判断键是否存在  存在返回1,不存在返回0
  DEL key :删除键   返回的是删除键的个数  key不存在返回0
  TYPE key:返回key的类型   key不存在返回none
  字符串类型:key value
  SET key value:存储一个string对,如果key已经存在则覆盖原值,不管原key是什么类型(特例)
  GET key:取得key的值,key不存在返回nil,表示无值
  MSET key value :同时设置多个键值
  MGET key :同时获得多个键的值,不返回key
  INCR key:递增数字  当字符串为整数形式时,递增1,key不存在默认为0,返回递增后的值,原子操作
  INCRBY key increment:与上面一样,不过能增加指定大小的值,返回递增后的值
  DECR key: ...
  DECRBY key decrement:递减,用法同上
  INCRBYFLOAT key increment:增加指定浮点数,差别在于可以递增一个双精度浮点数,例如:
  redis>INCRBYFLOAT num 9.9
  APPEND key value:向键的末尾追加value,key不存在则将key设置为value,返回value长度
  STRLEN key:返回指定键值的长度,键不存在返回0
  GETBIT key index:获取指定索引的二进制值,超出范围返回0
  SETBIT key index value:设置指定索引的二进制值,超出范围则将不存在的位置赋值为0
  BITCOUNT key :获取指定字节范围内二进制为1的二进制位个数
  BIPOP operation destkey key :进行位运算
  BITPOS key 0/1:获取指定键的第一个二进制位值为0或1点位置
  散列类型:key field value  键值对形式,适合存储对象
  HSET key field value:不区分插入与更新,当为插入(field不存在)时返回1,更新(field存在)返回0
  HGET key value:获取字段值,不包含key,key不存在返回nil
  HMSET key field value :参考HSET
  HMGET key field :参考HGET
  HGETALL key:返回所有fielld value,成对出现
  HEXISTS key field:判断字段是否存在,存在返回1,否则返回0,key不存在也返回0
  HSETNX key field value:当字段不存在时赋值,成功返回1,否则返回0
  HINCRBY key field increment:增加数字,返回增加后的字段值
  HDEL key field :删除字段,返回删除的字段个数
  HKEYS key:只获取key的所有field
  HVALS key:只获取key的所有value
  HLEN key:获取字段数量
  列表类型:key value   由双向链表实现,有序,不唯一
  LPUSH key value :向列表左端增加元素,返回增加元素后的列表长度
  RPUSH key value :同上
  LPOP key:从列表左端弹出一个元素,返回并删除元素,不存在返回nil
  RPOP key:同上
  LLEN key:返回列表中元素的个数,key不存在返回0
  LRANGE key start end:返回从索引start到end的所有元素(包括两端),支持负索引
  LREM key count value:删除列表中前count个值为value的元素,返回删除的元素个数,count=0删除全部,为负则从右边开始删除
  LINDEX key index:获得指定索引的元素值,不存在返回nil
  LSET key index value:设置指定索引的元素值,index超出则返回越界(ERR index out of range)
  LTRIM key start end:只保留列表指定片段,删除索引之外的所有元素,返回ok
  LINSERT key before|after pivot value:首先在列表中从左至右查找值为pivot的元素,根据第三个参数决定插入位置,返回插入后的列表长度
  RPOPLPUSH source destination:先执行RPOP再执行LPUSH,将元素从一个列表转入另一个列表,返回这个元素点值;如果是队列,当source与destination相同时,会不断将队尾的元素移到队首
  集合类型:key member   使用值为空的散列表实现,无序,唯一
  SADD key member :增加元素,返回成功加入的元素数量
  SREM key member :删除元素,返回成功删除的元素数量
  SMEMBERS key:获取集合中的所有元素
  SISMEMBER key member:判断元素是否在集合中,存在返回1,值或键不存在返回0
  SDIFF key :差集运算,SADD setA setB表示只存在于setA中的元素,即setA-setB
  SINTER key :交集运算,属于A且属于B多元素
  SUNION key :并集运算,属于所有集合的元素
  SCARD key:获取集合中元素个数
  SDIFFSTORE destination key :进行集合运算,并将结果存到destination键中
  SINTERSTORE destination key :同上
  SUNIONSTORE destination key :同上上
  SRANDMEMBER key :随机获取集合中的元素,count为个数;当count>0时,返回不重复的元素,最多返回集合中的个数个元素;当count<0时,随机从集合中返回| count |个元素,可以重复
  SPOP key:从集合中随机弹出一个元素
  有序集合类型:key score member   使用散列表与跳跃表实现
  ZADD key score member :增加元素,如果已存在,则用新的score替代旧的,返回新加入到集合中的元素个数(不包含已存在到元素)
  ZSCORE key member:获得元素的分数,不存在返回nil
  ZRANGE key start end :按照分数(score)从小到大的顺序返回索引从start到end之间的所有元素,包含两端
  ZREVRANGE key start end :同上,只是从大到小,WITHSCORES表示同时获得分数,排序方式(0<9<A<Z<a<z)
  ZRANGEBYSCORE key min max :获得指定分数范围的元素,如果不想包含端点,可以在min或max前添加"(",
  比如ZRANGEBYSCORE setA 0 (100,LIMIT搭配count限制数量,offset表示在获得的元素列表的基础上偏移offset个元素
  ZREVRANGEBYSCORE key max min :用法同上
  ZINCRBY key increment member:增加某个元素的分数,返回更改后的分数,如果不存在,则先默认赋值为0
  ZCARD key:获取集合中元素的数量
  ZCOUNT key min max:获取指定分数范围内的元素个数
  ZREM key member :删除一个或多个元素,返回成功删除的元素数量
  ZREMRANGEBYRANK key start end:按照排名范围删除元素(即索引0表示最小的值),返回删除的元素数量
  ZREMRANGEBYSCORE key min max:按照分数范围删除元素,返回删除的元素数量
  ZRANK key member:获得元素的排名,从0开始,即最小的元素排名为0
  ZREVRANK key member:与上面相反,最大的元素排名为0
  ZINTERSTORE destination numkeys key ]  :
  计算有序集合的交集,并将结果存在destination中,destination同样以有序集合方式存储,返回destination中元素个数;WEIGHT表示权重,每个集合参与计算时会先计算权重;AGGREGATE代表结果处理方式,SUM表示相同元素的分数相加,MIN取最小值,MAX取最大值
页: [1]
查看完整版本: Redis中各种类型及其命令