Redis中各种类型及其命令

刚刚接触Redis,在这里把命令都列出来,防止自己忘记,也能多看看

http://zk-chs.iteye.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...]:删除键   返回的是删除键的个数  key不存在返回0

TYPE key:返回key的类型   key不存在返回none

字符串类型:key value

SET key value:存储一个string对,如果key已经存在则覆盖原值,不管原key是什么类型(特例)

GET key:取得key的值,key不存在返回nil,表示无值

MSET key value [key value...]:同时设置多个键值

MGET key [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 [start] [end]:获取指定字节范围内二进制为1的二进制位个数

BIPOP operation destkey key [key...]:进行位运算

BITPOS key 0/1:获取指定键的第一个二进制位值为0或1点位置

散列类型:key field value  [field value...] 键值对形式,适合存储对象

HSET key field value:不区分插入与更新,当为插入(field不存在)时返回1,更新(field存在)返回0

HGET key value:获取字段值,不包含key,key不存在返回nil

HMSET key field value [field value...]:参考HSET

HMGET key field [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 [field...]:删除字段,返回删除的字段个数

HKEYS key:只获取key的所有field

HVALS key:只获取key的所有value

HLEN key:获取字段数量

列表类型:key value [value...]  由双向链表实现,有序,不唯一

LPUSH key value [value...]:向列表左端增加元素,返回增加元素后的列表长度

RPUSH key value [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 [member...]  使用值为空的散列表实现,无序,唯一

SADD key member [member...]:增加元素,返回成功加入的元素数量

SREM key member [member...]:删除元素,返回成功删除的元素数量

SMEMBERS key:获取集合中的所有元素

SISMEMBER key member:判断元素是否在集合中,存在返回1,值或键不存在返回0

SDIFF key [key...]:差集运算,SADD setA setB表示只存在于setA中的元素,即setA-setB

SINTER key [key...]:交集运算,属于A且属于B多元素

SUNION key [key...]:并集运算,属于所有集合的元素

SCARD key:获取集合中元素个数

SDIFFSTORE destination key [key...]:进行集合运算,并将结果存到destination键中

SINTERSTORE destination key [key...]:同上

SUNIONSTORE destination key [key...]:同上上

SRANDMEMBER key [count]:随机获取集合中的元素,count为个数;当count>0时,返回不重复的元素,最多返回集合中的个数个元素;当count<0时,随机从集合中返回| count |个元素,可以重复

SPOP key:从集合中随机弹出一个元素

有序集合类型:key score member [score member...]  使用散列表与跳跃表实现

ZADD key score member [score member...]:增加元素,如果已存在,则用新的score替代旧的,返回新加入到集合中的元素个数(不包含已存在到元素)

ZSCORE key member:获得元素的分数,不存在返回nil

ZRANGE key start end [WITHSCORES]:按照分数(score)从小到大的顺序返回索引从start到end之间的所有元素,包含两端

ZREVRANGE key start end [WITHSCORES]:同上,只是从大到小,WITHSCORES表示同时获得分数,排序方式(0<9<A<Z<a<z)

ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT offset count]:获得指定分数范围的元素,如果不想包含端点,可以在min或max前添加"(",

                      比如ZRANGEBYSCORE setA 0 (100,LIMIT搭配count限制数量,offset表示在获得的元素列表的基础上偏移offset个元素

ZREVRANGEBYSCORE key max min [WITHSCORES] [LIMIT offset count]:用法同上

ZINCRBY key increment member:增加某个元素的分数,返回更改后的分数,如果不存在,则先默认赋值为0

ZCARD key:获取集合中元素的数量

ZCOUNT key min max:获取指定分数范围内的元素个数

ZREM key member [member...]:删除一个或多个元素,返回成功删除的元素数量

ZREMRANGEBYRANK key start end:按照排名范围删除元素(即索引0表示最小的值),返回删除的元素数量

ZREMRANGEBYSCORE key min max:按照分数范围删除元素,返回删除的元素数量

ZRANK key member:获得元素的排名,从0开始,即最小的元素排名为0

ZREVRANK key member:与上面相反,最大的元素排名为0

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

计算有序集合的交集,并将结果存在destination中,destination同样以有序集合方式存储,返回destination中元素个数;WEIGHT表示权重,每个集合参与计算时会先计算权重;AGGREGATE代表结果处理方式,SUM表示相同元素的分数相加,MIN取最小值,MAX取最大值

猜你喜欢

转载自zk-chs.iteye.com/blog/2253663
今日推荐