标签:127.0 0.1 Redis value 6379 key 常用命令 集合
Redis 常用命令
转载:Redis 键(key) | 菜鸟教程 (runoob.com)
键操作
命令 |
描述 |
SET key value |
将字符串值存储在指定的键中。如果键已经存在,则覆盖旧值。 |
GET key |
获取指定键的值。 |
DEL key |
删除指定的键。如果键不存在,忽略操作。 |
EXISTS key |
检查指定的键是否存在,返回 1 表示存在,0 表示不存在。 |
EXPIRE key seconds |
为键设置生存时间(TTL,单位为秒)。到期后,键将被自动删除。 |
EXPIREAT key timestamp |
类似于 EXPIRE ,但接受 UNIX 时间戳作为参数。键将在指定的时间戳时过期。 |
PEXPIRE key milliseconds |
为指定的键设置过期时间(单位为毫秒)。在指定的时间后,键将被自动删除。 |
PEXPIREAT key milliseconds-timestamp |
类似于 PEXPIRE ,但接受 UNIX 时间戳(以毫秒为单位)作为参数。键将在指定的时间戳时过期。 |
TTL key |
查看键的剩余生存时间(单位为秒)。如果没有设置过期时间,返回 -1;如果键不存在,返回 -2。 |
PTTL key |
返回指定键的剩余过期时间(单位为毫秒)。如果键没有设置过期时间,返回 -1;如果键不存在,返回 -2。 |
KEYS pattern |
查找匹配给定模式的所有键。pattern 可以包含通配符(例如 * 匹配任意多个字符,? 匹配单个字符)。 |
RENAME key newkey |
重命名指定的键。如果 newkey 已经存在,将被覆盖。 |
RENAMENX key newkey |
仅当 newkey 不存在时,将 key 重命名为 newkey 。如果 newkey 已存在,操作不会进行。 |
TYPE key |
返回键所存储的值的类型。可能的返回值有 string , list , set , zset , hash , none 等。 |
DUMP key |
序列化指定的键,并返回序列化的值。可以用来持久化键的值。序列化后的数据是二进制安全的。 |
RANDOMKEY |
随机返回当前数据库中的一个键。如果数据库为空,返回 nil 。 |
MOVE key db |
将指定的键移动到另一个数据库中。 |
PERSIST key |
移除键的过期时间,使其变为永久存储。 |
SCAN cursor [MATCH pattern] [COUNT count] |
迭代数据库中的键。cursor 是游标,用于跟踪迭代的位置。MATCH pattern 可以用来匹配键名,COUNT count 可以用来控制每次迭代返回的键的数量。 |
--以`0`为初始游标查询通配`my开头`的所有key,最大返回10,`2`为下一次的有标位置
127.0.0.1:6379> scan 0 match my* count 10
1) "2"
2) 1) "mykey"
2) "mykey3"
3) "mykey7"
4) "mykey2"
127.0.0.1:6379> scan 2 match my* count 10
1) "62"
2) 1) "mykey9"
2) "mykey4"
3) "mykey8"
4) "mykey5"
127.0.0.1:6379> scan 62 match my* count 10
1) "43"
2) 1) "mykey10"
2) "mykey6"
3) "mykey1"
127.0.0.1:6379> scan 43 match my* count 10
1) "0"
2) (empty array)
String 类型数据
命令 |
描述 |
SET key value |
设置指定 key 的值。如果 key 已经存在,它会覆盖原有的值。 |
SETNX key value |
只有在 key 不存在时设置 key 的值。如果 key 已经存在,则不做任何操作。 |
SETEX key seconds value |
将 key 的值设置为 value ,并在指定的 seconds 后过期。 |
PSETEX key milliseconds value |
这个命令和 SETEX 命令相似,但它以毫秒为单位设置 key 的生存时间,而不是像 SETEX 命令那样,以秒为单位。 |
MSET key1 value1 [key2 value2 ...] |
同时设置多个键值对。如果任何 key 已经存在,则所有操作都不会执行。 |
MSETNX key1 value1 [key2 value2 ...] |
同时设置一个或多个 key-value 对,当且仅当所有给定 key 都不存在。 |
SETRANGE key offset value |
用 value 参数覆写给定 key 所储存的字符串值,从偏移量 offset 开始。 |
APPEND key value |
将 value 追加到 key 对应的值的末尾。如果 key 不存在,它会被初始化为一个空字符串,然后再进行追加操作。 |
GET key |
获取指定 key 的值。如果 key 不存在,返回 nil 。 |
GETRANGE key start end |
返回 key 中字符串值的子字符。 |
STRLEN key |
返回 key 所储存的字符串值的长度。 |
GETSET key value |
将 key 的值设置为 value ,并返回 key 的旧值。 |
MGET key1 [key2 ...] |
获取所有(一个或多个)给定 key 的值。如果某个 key 不存在,则对应的返回值是 nil 。 |
DEL key |
删除指定的 key 。如果 key 存在,删除它并返回 1 ;如果 key 不存在,返回 0 。 |
EXISTS key |
检查 key 是否存在。如果存在,返回 1 ;否则返回 0 。 |
SETBIT key offset value |
对 key 所储存的字符串值,设置或清除指定偏移量上的位(bit)。 |
GETBIT key offset |
对 key 所储存的字符串值,获取指定偏移量上的位(bit)。 |
INCR key |
将 key 中储存的整数值加一。如果 key 不存在,它会被初始化为 0 ,然后加一。 |
DECR key |
将 key 中储存的整数值减一。如果 key 不存在,它会被初始化为 0 ,然后减一。 |
INCRBY key increment |
将 key 所储存的值加上给定的增量值(increment )。 |
DECRBY key decrement |
将 key 所储存的值减去给定的减量值(decrement )。 |
NCRBYFLOAT key increment |
将 key 所储存的值加上给定的浮点增量值(increment )。 |
--在增量时要注意有小数的要使用 `hincrbyfloat`命令(或者数字增量浮点型后再增量时)
127.0.0.1:6379> incr a
(integer) 1
127.0.0.1:6379> get a
"1"
127.0.0.1:6379> incr a 10
(error) ERR wrong number of arguments for 'incr' command
127.0.0.1:6379> incrby a 10
(integer) 11
127.0.0.1:6379> incrbyfloat a 0.5
"11.5"
127.0.0.1:6379>
127.0.0.1:6379> incrby a 10
(error) ERR value is not an integer or out of range
127.0.0.1:6379>
Hash 数据类型
命令 |
描述 |
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 [MATCH pattern] [COUNT count] |
迭代哈希表中的键值对 |
127.0.0.1:6379> hscan student:1000 0 match * count 10
1) "0"
2) 1) "name"
2) "lisi"
3) "score"
4) "90.5"
127.0.0.1:6379> hscan student:1000 0
1) "0"
2) 1) "name"
2) "lisi"
3) "score"
4) "90.5"
List 数据类型
命令 |
描述 |
LPUSH key value1 [value2 ...] |
将一个或多个值插入到列表头部。 |
LPUSHX key value |
将一个值插入到已存在的列表头部(如果列表不存在则不执行任何操作)。 |
RPUSH key value1 [value2 ...] |
在列表中添加一个或多个值到列表尾部。 |
RPUSHX key value |
为已存在的列表添加值(如果列表不存在则不执行任何操作)。 |
LSET key index value |
通过索引设置列表中的元素值。 |
`LINSERT key BEFORE |
AFTER pivot value` |
LLEN key |
获取列表的长度(元素个数)。 |
LRANGE key start stop |
获取列表中指定范围内的元素。 |
LINDEX key index |
通过索引获取列表中的元素。 |
LREM key count value |
根据参数 count 移除列表中与 value 相等的元素。 |
LTRIM key start stop |
对列表进行修剪,只保留指定区间内的元素,其他元素将被删除。 |
LPOP key |
移出并获取列表的第一个元素。 |
BLPOP key1 [key2 ...] timeout |
移出并获取列表的第一个元素,阻塞等待直到超时或有元素可弹出。 |
RPOP key |
移除并获取列表的最后一个元素。 |
BRPOP key1 [key2 ...] timeout |
移出并获取列表的最后一个元素,阻塞等待直到超时或有元素可弹出。 |
RPOPLPUSH source destination |
移出列表的最后一个元素,并将该元素添加到另一个列表(头部)。 |
BRPOPLPUSH source destination timeout |
从列表弹出一个元素并插入到另一个列表,支持阻塞操作。 |
使用阻塞BRPOP
模拟消息队列(左进右出
或者 右进左出
)
--生产者 发送消息
127.0.0.1:6379> LPUSH myqueue "message1" "message2" "message3"
(integer) 3
--消费者 消费信息 超时时间`0`表示一直等待
127.0.0.1:6379> BRPOP myqueue 0
1) "myqueue"
2) "message3"
(4.07s)
127.0.0.1:6379> BRPOP myqueue 0
1) "myqueue"
2) "message2"
127.0.0.1:6379> BRPOP myqueue 0
1) "myqueue"
2) "message1"
127.0.0.1:6379> BRPOP myqueue 0
Set 数据类型
命令 |
描述 |
SADD key member1 [member2] |
向集合添加一个或多个成员 |
SCARD key |
获取集合的成员数 |
SISMEMBER key member |
判断 member 元素是否是集合 key 的成员 |
SMEMBERS key |
返回集合中的所有成员 |
SMOVE source destination member |
将 member 元素从 source 集合移动到 destination 集合 |
SREM key member1 [member2] |
移除集合中一个或多个成员 |
SPOP key |
移除并返回集合中的一个随机元素 |
SRANDMEMBER key [count] |
返回集合中一个或多个随机数 |
SSCAN key cursor [MATCH pattern] [COUNT count] |
迭代集合中的元素 |
SINTER key1 [key2] |
返回给定所有集合的交集 |
SINTERSTORE destination key1 [key2] |
返回给定所有集合的交集并存储在 destination 中 |
SUNION key1 [key2] |
返回所有给定集合的并集 |
SUNIONSTORE destination key1 [key2] |
所有给定集合的并集存储在 destination 集合中 |
SDIFF key1 [key2] |
返回第一个集合与其他集合之间的差集 |
SDIFFSTORE destination key1 [key2] |
返回给定所有集合的差集并存储在 destination 中 |
127.0.0.1:6379> sadd mset1 1 2 3 4 5 6
(integer) 6
127.0.0.1:6379> sadd mset2 2 4 6 8 10
(integer) 5
127.0.0.1:6379> sunion mset1 mset2
1) "1"
2) "2"
3) "3"
4) "4"
5) "5"
6) "6"
7) "8"
8) "10"
127.0.0.1:6379> sunionstore mset mset1 mset2
(integer) 8
127.0.0.1:6379> smembers mset
1) "1"
2) "2"
3) "3"
4) "4"
5) "5"
6) "6"
7) "8"
8) "10"
127.0.0.1:6379>
Sorted Set 数据类型
命令 |
描述 |
ZADD key score1 member1 [score2 member2] |
向有序集合添加一个或多个成员,或者更新已存在成员的分数 |
ZCARD key |
获取有序集合的成员数 |
ZCOUNT key min max |
计算在有序集合中指定区间分数的成员数 |
ZINCRBY key increment member |
有序集合中对指定成员的分数加上增量 increment |
ZLEXCOUNT key min max |
在有序集合中计算指定字典区间内成员数量 |
ZRANGE key start stop [WITHSCORES] |
通过索引区间返回有序集合指定区间内的成员 |
ZRANGEBYLEX key min max [LIMIT offset count] |
通过字典区间返回有序集合的成员 |
ZRANGEBYSCORE key min max [WITHSCORES] [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] |
迭代有序集合中的元素(包括元素成员和元素分值) |
ZINTERSTORE destination numkeys key [key ...] |
计算给定的一个或多个有序集的交集并将结果集存储在新的有序集合 destination 中 |
标签:127.0,
0.1,
Redis,
value,
6379,
key,
常用命令,
集合
From: https://www.cnblogs.com/20lxj666/p/18407930