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 key
List 双向链表
- 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 destination
Set 内部实现是一个 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 key
Sorted 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