redis支持的数据类型
String redis最基本的类型,可以是任意类型的字符串,也可以是数字
SET赋值,用法: SET key value GET取值,用法: GET key INCR递增数字,仅仅对数字类型的键有用,相当于Java的i++运算,用法: INCR key INCRBY增加指定的数字,仅仅对数字类型的键有用,相当于Java的i+=3,用法: INCRBY key increment ,意思是key自增increment,increment可以为负数,表示减少。 DECR递减数字,仅仅对数字类型的键有用,相当于Java的i ,用法: DECR key DECRBY减少指定的数字,仅仅对数字类型的键有用,相当于Java的i-=3,用法: DECRBY key decrement ,意思是key自减decrement,decrement可以为正数,表示增加。 INCRBYFLOAT增加指定浮点数,仅仅对数字类型的键有用,用法: INCRBYFLOAT key increment APPEND向尾部追加值,相当于Java中的”hello”.append(“ world”),用法: APPEND key value STRLEN获取字符串长度,用法: STRLEN key MSET同时设置多个key的值,用法: MSET key1 value1 [key2 value2 ...] MGET同时获取多个key的值,用法: MGET key1 [key2 ...]Hash 多个key-value对的集合,可以用来存储对象,相当于Java中的HashMap<String,String>
HSET赋值,用法: HSET key field value HMSET一次赋值多个字段,用法: HMSET key field1 value1 [field2 values] HGET取值,用法: HSET key field HMGET一次取多个字段的值,用法: HMSET key field1 [field2] HGETALL一次取所有字段的值,用法: HGETALL key HEXISTS判断字段是否存在,用法: HEXISTS key field HSETNX当字段不存在时赋值,用法: HSETNX key field value HINCRBY增加数字,仅对数字类型的值有用,用法: HINCRBY key field increment HDEL删除字段,用法: HDEL key field HKEYS获取所有字段名,用法: HKEYS key HVALS获取所有字段值,用法: HVALS key HLEN获取字段数量,用法: HLEN keyList 双向链表
LPUSH向列表左端添加元素,用法: LPUSH key value RPUSH向列表右端添加元素,用法: RPUSH key value LPOP从列表左端弹出元素,用法: LPOP key RPOP从列表右端弹出元素,用法: RPOP key LLEN获取列表中元素个数,用法: LLEN key LRANGE获取列表中某一片段的元素,用法: LRANGE key start stop ,index从0开始,-1表示最后一个元素 LREM删除列表中指定的值,用法: LREM key count value ,删除列表中前count个值为value的元素,当count>0时从左边开始数,count<0时从右边开始数,count=0时会删除所有值为value的元素 LINDEX获取指定索引的元素值,用法: LINDEX key index LSET设置指定索引的元素值,用法: LSET key index value LTRIM只保留列表指定片段,用法: LTRIM key start stop ,包含start和stop LINSERT像列表中插入元素,用法: LINSERT key BEFORE|AFTER privot value ,从左边开始寻找值为privot的第一个元素,然后根据第二个参数是BEFORE还是AFTER决定在该元素的前面还是后面插入value RPOPLPUSH将元素从一个列表转义到另一个列表,用法: RPOPLPUSH source destinationSet 内部实现是一个 value为null的HashMap,相当于Java中的HashSet<String>
SADD添加元素,用法: SADD key value1 [value2 value3 ...] SREM删除元素,用法: SREM key value2 [value2 value3 ...] SMEMBERS获得集合中所有元素,用法: SMEMBERS key SISMEMBER判断元素是否在集合中,用法: SISMEMBER key value SDIFF对集合做差集运算,用法: SDIFF key1 key2 [key3 ...] ,先计算key1和key2的差集,然后再用结果与key3做差集 SINTER对集合做交集运算,用法: SINTER key1 key2 [key3 ...] SUNION对集合做并集运算,用法: SUNION key1 key2 [key3 ...] SCARD获得集合中元素的个数,用法: SCARD key SDIFFSTORE对集合做差集并将结果存储,用法: SDIFFSTORE destination key1 key2 [key3 ...] SINTERSTORE对集合做交集运算并将结果存储,用法: SINTERSTORE destination key1 key2 [key3 ...] SUNIONSTORE对集合做并集运算并将结果存储,用法: SUNIONSTORE destination key1 key2 [key3 ...] SRANDMEMBER随机获取集合中的元素,用法: SRANDMEMBER key [count] ,当count>0时,会随机中集合中获取count个不重复的元素,当count<0时,随机中集合中获取|count|和可能重复的元素。 SPOP从集合中随机弹出一个元素,用法: SPOP keySorted Set 有序的set类型
ZADD添加元素,用法: ZADD key score1 value1 [score2 value2 score3 value3 ...] ZSCORE获取元素的分数,用法: ZSCORE key value ZRANGE获取排名在某个范围的元素,用法: ZRANGE key start stop [WITHSCORE] ,按照元素从小到大的顺序排序,从0开始编号,包含start和stop对应的元素,WITHSCORE选项表示是否返回元素分数 ZREVRANGE获取排名在某个范围的元素,用法: ZREVRANGE key start stop [WITHSCORE] ,和上一个命令用法一样,只是这个倒序排序的。 ZRANGEBYSCORE获取指定分数范围内的元素,用法: ZRANGEBYSCORE key min max ,包含min和max, (min 表示不包含min, (max 表示不包含max, +inf 表示无穷大 ZINCRBY增加某个元素的分数,用法: ZINCRBY key increment value ZCARD获取集合中元素的个数,用法: ZCARD key ZCOUNT获取指定分数范围内的元素个数,用法: ZCOUNT key min max ,min和max的用法和5中的一样 ZREM删除一个或多个元素,用法: ZREM key value1 [value2 ...] ZREMRANGEBYRANK按照排名范围删除元素,用法: ZREMRANGEBYRANK key start stop ZREMRANGEBYSCORE按照分数范围删除元素,用法: ZREMRANGEBYSCORE key min max ,min和max的用法和4中的一样 ZRANK获取正序排序的元素的排名,用法: ZRANK key value ZREVRANK获取逆序排序的元素的排名,用法: ZREVRANK key value