redis的五大基本类型操作
字符串(String)
命令格式: COMMAND命令 KEY_NAME键名 [值]
-
SET key value
指定key的值 -
GET key
获取key的值 -
GETRANGE key start end
获取key中字符串的子字符串 -
GETSET key value
指定key的新值,返回旧值。 -
GETBIT key offset
对key所存储的字符串指定偏移量上的位(bit) 0/1 -
MGET key1 [key2]
获取一个/多个key的值
redis:0>mget name name2
1) asbx
2) sgsg
-
SETBIT key offset value
对key所存储的字符串的值,设置或清除指定偏移量上的位(bit) -
SETEX key seconds value
设置key的值为value,过期时间seconds(秒) -
SETNX key value
key不存在时设置key的值。 -
SETRANGE key offset value
用value覆盖key存储的字符串,从偏移量offset开始。 -
STRLEN key
返回key所存储的字符串长度 -
MSET key value [key value...]
同时设置多个键值对 -
MSETNX key value [key value...]
key都不存在时设置对应的value值 -
PSETEX key milliseconds value
设置key
的值为value
并且生存时间milliseconds
(毫秒) -
INCR key
key中存储的数字值+1(不是数字会报错) -
INCRBY key increment
增加指定数量 -
INCRBYFLOAT key increment
增加指定浮点数值 -
DECR key
将key中存储的数字-1 -
DECRBY key decrement
将key中的值减去指定量 -
APPEND key value
如果key存在,将value追加到原有值末尾
哈希(Hash)
field
=>value
的映射表
-
HDEL key field1 [field2]
删除一个或多个哈希表字段。 -
HEXISTS key field
查看哈希表key中,指定的字段是否存在。 -
HGET key field
获取存储在哈希表中的字段的值。 -
HGETALL key
获取在哈希表中指定key的所有字段和值 -
HINCRBY key field increment
为哈希表key的指定字段的整数值加上增量increment -
HINCRBYFLOAT key field increment
为哈希表key中指定字段的浮点数值加上increment -
HKEYS key
获取所有哈希表中的字段 -
HLEN key
获取哈希表中字段的数量 -
HMGET key field1 [field2]
获取所有给定的值 -
HMSET key field1 value1 [field2 value2]
同时将多个field-value设置到哈希表key中 -
HSET key field value
将哈希表的key中的字段field的值设置为value -
HSETNX key field value
只有字段field不存在时,设置哈希表字段的值。 -
HVALS key
从哈希表中获取所有的值 -
HSCAN key cursor [MARCH pattern] [COUNT count]
迭代器
# 0参数位是游标位置,当游标为0的时候开始新的一轮迭代
hscan key 0 match xxx* count 100
列表(List)
-
BLPOP key1 [key2] timeout
移除并获取列表的第一个元素,如果列表没有元素会阻塞列表。直到等待超时或发现可弹出元素。 -
BRPOP key1 [key2] timeout
移除并获取列表最后一个元素,如果列表没有元素会阻塞直到超时或发现可弹出元素。 -
BRPOPLPUSH source destination timeout
从列表中弹出一个值,将弹出的元素插入到另一个列表并返回它;如果列表没有元素会阻塞明知道超时或有可弹出元素 -
LINDEX key index
通过索引获取列表中的元素 -
LINSERT key BEFORE|AFTER pivot value
在列表key
的元素pivot
前或后插入另一个元素。 -
LLEN key
获取列表长度 -
LPOP key
移除并获取列表的第一个元素 -
LPUSH key value1 [value2]
将一个值插入到已存在的列表头部 -
LPUSHX key value
插入到已存在的列表头,返回列表长度 -
LRANGE key start stop
获取列表指定范围的元素 -
LREM key count value
移除列表元素 -
LSET key index value
通过索引设置元素的值 -
LTRIM key start stop
对于一个列表进行修剪,删除不在指定区域的值 -
RPOP key
移除列表的最后一个元素,返回。 -
RPOPLPUSH source destination
移除列表的最后一个元素,并将该元素添加到另一个列表并返回 -
RPUSH key value1 [value2]
在列表中添加一个或多个值 -
RPUSHX key value
为已存在的列表添加值
集合(Set)
集合是基于hash的String类型的无序集合,集合成员是唯一的。
-
SADD key member1 [member2]
向集合添加一个或多个成员 -
SCARD key
获取集合的成员数 -
SDIFF key1 [key2]
返回差集,即第一个集合中其它集合没有的元素。 -
SDIFFSTORE destination key1 [key2]
返回给定的所有集合的差集存储在destination中 -
SINTER key1 [key2]
返回给定所有集合的交集 -
SINTERSTORE destination key1 [key2]
返回给定所有集合的交集存储在destination中 -
SISMEMBER key member
判断member集合元素是否是集合key的成员 -
SMEMBERS key
返回集合中的所有成员 -
SMOVE source destination member
将member元素从source集合移动到destination集合 -
SPOP key
移除并返回集合中的一个随机元素 -
SRANDMEMBER key [count]
返回集合中一个或多个随机数 -
SREM key member1 [member2]
移除集合中一个或多个成员 -
SUNION key1 [key2]
返回所有给定集合的并集 -
SUNIONSTORE destination key1 [key2]
所有给定集合的并集存储在destination集合中 -
SSCAN key cursor [MARCH pattern] [COUNT count]
迭代集合中元素
sscan myset1 0 match h*
有序集合(sorted set)
有顺序的set,通过分数排序
-
ZADD key score1 member1 [score2 member2]
向有序集合添加一个或多个成员,或者更新已存在成员的分数。 -
ZCARD key
获取有序集合成员数 -
ZCOUNT key min max
计算在有序集合中指定区间分数的成员数 -
ZINCRBY key increment member
有序集合中对指定成员的分数加上增量increment -
ZINTERSTORE destination numkeys key [key...]
计算给定的有序集合交集,保存结果到新的有序集合key -
ZLEXCOUNT key min max
有序集合中计算指定字典区间内成员数 -
ZRANGE key start stop [WITHSCORES]
通过索引区间返回有序集合指定区间内的成员 -
ZRANGEBYLEX key min max [LIMIT offset count]
通过字典区间返回有序集合成员,输出集合 -
ZRANGEBYSCORE key min max [withscore] [limit]
通过分数返回有序集合指定区间内的成员 -
ZRANK key member
返回有序集合中指定成员的索引 -
ZREM key member [member...]
移除有序集合中的一个或多个成员 -
ZREMRANGEBYLEX key min max
移除有序集合中给定的字典区间的所有成员。 -
ZREMRANGEBYRANK key start stop
移除有序集合中给定排名区间的所有成员 -
ZREMRANGEBYSCORE key min max
移除有序集合中给定的分数区间的所有成员 -
ZREVRANGE key start stop [WITHSCORES]
返回有序集中指定区间内的成员,通过索引,分数从高到底 -
ZREVRANGEBYSCORE key max min [WITHSCORES]
返回有序集中指定分数区间内的成员,分数从高到低排序 -
ZREVRANK key member
返回有序集合中指定成员的排名,有序集成员按分数值递减(从大到小)排序 -
ZSCORE key member
返回有序集合中,成员的分数 -
ZUNIONSTORE destination numkeys key [key ...]
计算给定的一个或多个有序集的并集,并存储在新的 key 中 -
ZSCAN key cursor [MATCH pattern] [COUNT count]
迭代有序集合中的元素(包括元素成员和元素分值)