文章字数:1906,阅读全文大约需要7分钟
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/1MGET key1 [key2]
获取一个/多个key的值1
2
3redis:0>mget name name2
1) asbx
2) sgsgSETBIT 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中存储的数字-1DECRBY 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的指定字段的整数值加上增量incrementHINCRBYFLOAT key field increment
为哈希表key中指定字段的浮点数值加上incrementHKEYS key
获取所有哈希表中的字段HLEN key
获取哈希表中字段的数量HMGET key field1 [field2]
获取所有给定的值HMSET key field1 value1 [field2 value2]
同时将多个field-value设置到哈希表key中HSET key field value
将哈希表的key中的字段field的值设置为valueHSETNX key field value
只有字段field不存在时,设置哈希表字段的值。HVALS key
从哈希表中获取所有的值HSCAN key cursor [MARCH pattern] [COUNT count]
迭代器1
2# 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]
迭代集合中元素1
sscan myset1 0 match h*
有序集合(sorted set)
有顺序的set,通过分数排序ZADD key score1 member1 [score2 member2]
向有序集合添加一个或多个成员,或者更新已存在成员的分数。ZCARD key
获取有序集合成员数ZCOUNT key min max
计算在有序集合中指定区间分数的成员数ZINCRBY key increment member
有序集合中对指定成员的分数加上增量incrementZINTERSTORE destination numkeys key [key...]
计算给定的有序集合交集,保存结果到新的有序集合keyZLEXCOUNT 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]
迭代有序集合中的元素(包括元素成员和元素分值)