【redis】常用命令
【摘要】 Redis 常用命令如下:连接与基本操作命令:ping:用于检查 Redis 服务是否正在运行。客户端向服务器发送一个 PING 请求,服务器会返回 PONG,表示连接正常。例如:PING 返回 PONG 则表示连接正常。auth password:如果 Redis 服务器设置了密码,客户端连接后需要使用此命令进行身份验证。只有输入正确的密码,才能执行其他命令。例如:AUTH mypassw...
Redis 常用命令如下:
- 连接与基本操作命令:
ping
:用于检查 Redis 服务是否正在运行。客户端向服务器发送一个PING
请求,服务器会返回PONG
,表示连接正常。例如:PING
返回PONG
则表示连接正常。auth password
:如果 Redis 服务器设置了密码,客户端连接后需要使用此命令进行身份验证。只有输入正确的密码,才能执行其他命令。例如:AUTH mypassword
(其中mypassword
是设置的密码)。select index
:Redis 支持多个数据库,默认有 16 个(编号 0 - 15),使用此命令可以切换到指定的数据库。例如:SELECT 3
切换到 3 号数据库。quit
:用于关闭当前与 Redis 服务器的连接。
- 键(key)操作命令:
set key value
:用于设置一个键值对。如果键已经存在,则会覆盖原来的值。例如:SET name "John"
将name
键的值设置为"John"
。get key
:获取指定键的值。例如:GET name
获取name
键对应的值。keys pattern
:查找所有符合给定模式的键。例如:KEYS *
查找所有的键;KEYS user*
查找所有以user
开头的键。del key
:删除指定的键。例如:DEL name
删除name
键。exists key
:检查给定的键是否存在。如果存在返回 1,不存在返回 0。例如:EXISTS name
检查name
键是否存在。expire key seconds
:为键设置过期时间,单位是秒。例如:EXPIRE mykey 60
将mykey
的过期时间设置为 60 秒。ttl key
:以秒为单位,返回给定键的剩余生存时间。当返回值为 -1 时,表示键永久有效;当返回值为 -2 时,表示键已过期。例如:TTL mykey
获取mykey
的剩余生存时间。persist key
:移除键的过期时间,使键持久保存。例如:PERSIST mykey
使mykey
不再有过期时间。rename key newkey
:修改键的名称。例如:RENAME oldkey newkey
将oldkey
改名为newkey
。renamenx key newkey
:仅当newkey
不存在时,将键改名为newkey
。例如:RENAMENX key1 key2
,如果key2
不存在,则将key1
改名为key2
。randomkey
:从当前数据库中随机返回一个键。
- 字符串(string)操作命令:
incr key
:将键中储存的数字值增一。例如:如果key
的值是10
,执行INCR key
后,key
的值变为11
。incrby key increment
:将键所储存的值加上给定的增量值(increment)。例如:INCRBY mykey 5
将mykey
的值增加5
。decr key
:将键中储存的数字值减一。decrby key decrement
:键所储存的值减去给定的减量值(decrement)。append key value
:如果键已经存在并且是一个字符串,将指定value
追加到该键原来的值的末尾。例如:APPEND mykey " world"
将" world"
追加到mykey
原来的值的末尾。setex key seconds value
:将值value
关联到键,并将键的过期时间设为seconds
(以秒为单位)。例如:SETEX mykey 30 "Hello"
将mykey
的值设置为"Hello"
,过期时间为 30 秒。psetex key milliseconds value
:和setex
命令相似,但它以毫秒为单位设置键的生存时间。例如:PSETEX mykey 5000 "Hello"
将mykey
的值设置为"Hello"
,过期时间为 5000 毫秒。getrange key start end
:返回键中字符串值的子字符串,截取的范围由start
和end
两个索引指定。例如:GETRANGE mykey 0 5
获取mykey
的值的前 6 个字符(索引从 0 开始)。setbit key offset value
:对键所存储的字符串值,设置或清除指定偏移量上的位。例如:SETBIT mykey 2 1
将mykey
的值的第 3 位(偏移量从 0 开始)设置为1
。getbit key offset
:获取键所储存的字符串值在指定偏移量上的位值。
- 哈希(hash)操作命令:
hset key field value
:将哈希表key
中的字段field
的值设为value
。如果key
不存在,则创建一个新的哈希表。例如:HSET userinfo name "Alice"
在userinfo
哈希表中设置name
字段的值为"Alice"
。hget key field
:获取存储在哈希表中指定字段的值。例如:HGET userinfo name
获取userinfo
哈希表中name
字段的值。hgetall key
:获取在哈希表中指定key
的所有字段和值。例如:HGETALL userinfo
获取userinfo
哈希表的所有字段和值。hdel key field1 [field2...]
:删除一个或多个哈希表字段。例如:HDEL userinfo age
删除userinfo
哈希表中的age
字段。hlen key
:获取哈希表中字段的数量。例如:HLEN userinfo
获取userinfo
哈希表的字段数量。hmget key field1 [field2...]
:获取所有给定字段的值。例如:HMGET userinfo name age
获取userinfo
哈希表中name
和age
字段的值。hmset key field1 value1 [field2 value2...]
:同时将多个field-value
(域 - 值)对设置到哈希表key
中。例如:HMSET userinfo name "Bob" age 25
在userinfo
哈希表中同时设置name
和age
字段的值。hincrby key field increment
:为哈希表key
中的指定字段的整数值加上增量increment
。hincrbyfloat key field increment
:为哈希表key
中的指定字段的浮点数值加上增量increment
。
- 列表(list)操作命令:
lpush key value1 [value2...]
:将一个或多个值插入到列表头部。例如:LPUSH mylist "a" "b" "c"
将"a"
、"b"
、"c"
依次插入到mylist
列表的头部。rpush key value1 [value2...]
:在列表中添加一个或多个值到尾部。例如:RPUSH mylist "d" "e"
将"d"
、"e"
依次添加到mylist
列表的尾部。lpop key
:移出并获取列表的第一个元素。例如:LPOP mylist
取出并返回mylist
列表的第一个元素。rpop key
:移除并获取列表最后一个元素。例如:RPOP mylist
取出并返回mylist
列表的最后一个元素。lindex key index
:通过索引获取列表中的元素。例如:LINDEX mylist 2
获取mylist
列表中索引为2
的元素。llen key
:获取列表长度。例如:LLEN mylist
获取mylist
列表的长度。lrange key start stop
:获取列表指定范围内的元素。例如:LRANGE mylist 0 2
获取mylist
列表中从索引0
到索引2
(包含)的元素。ltrim key start stop
:对一个列表进行修剪,让列表只保留指定区间内的元素,不在指定区间之内的元素都将被删除。例如:LTRIM mylist 1 3
只保留mylist
列表中索引从1
到3
(包含)的元素。blpop key1 [key2...] timeout
:移出并获取列表的第一个元素,如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止。brpop key1 [key2...] timeout
:移出并获取列表的最后一个元素,如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止。
- 集合(set)操作命令:
sadd key member1 [member2...]
:向集合添加一个或多个成员。例如:SADD myset "apple" "banana" "cherry"
向myset
集合中添加"apple"
、"banana"
、"cherry"
三个元素。scard key
:获取集合的成员数。例如:SCARD myset
获取myset
集合的成员数量。smembers key
:获取集合里面的所有成员。例如:SMEMBERS myset
获取myset
集合的所有成员。sismember key member
:确定一个给定的值是否是集合的成员。例如:SISMEMBER myset "apple"
检查"apple"
是否是myset
集合的成员。sinter key1 [key2...]
:返回给定所有集合的交集。例如:SINTER set1 set2
返回set1
和set2
集合的交集。sinterstore destination key1 [key2...]
:返回给定所有集合的交集并存储在destination
中。sunion key1 [key2...]
:返回所有给定集合的并集。sunionstore destination key1 [key2...]
:返回所有给定集合的并集并存储在destination
中。sdiff key1 [key2...]
:返回给定所有集合的差集。例如:SDIFF set1 set2
返回set1
和set2
集合的差集。sdiffstore destination key1 [key2...]
:返回给定所有集合的差集并存储在destination
中。
- 有序集合(sorted set)操作命令:
zadd key score1 member1 [score2 member2...]
:向有序集合添加一个或多个成员,每个成员都有一个分数(score),用于确定成员在集合中的顺序。例如:ZADD myzset 10 "apple" 20 "banana" 30 "cherry"
向myzset
有序集合中添加三个成员,并分别设置分数。zrange key start stop [WITHSCORES]
:获取索引范围内的成员,按分数升序排列。如果使用WITHSCORES
选项,则同时返回成员的分数。例如:ZRANGE myzset 0 2
获取myzset
有序集合中索引从0
到2
(包含)的成员;ZRANGE myzset 0 2 WITHSCORES
则同时返回成员的分数。zrevrange key start stop [WITHSCORES]
:获取索引范围内的成员,按分数降序排列。如果使用WITHSCORES
选项,则同时返回成员的分数。zcard key
:获取有序集合的成员数。例如:ZCARD myzset
获取myzset
有序集合的成员数量。zscore key member
:获取指定成员的分数。例如:ZSCORE myzset "apple"
获取myzset
有序集合中"apple"
成员的分数。zrank key member
:获取指定成员的排名(按分数升序排列)。例如:ZRANK myzset "banana"
获取myzset
有序集合中"banana"
成员的排名。zrem key member1 [member2...]
:删除有序集合中的一个或多个成员。例如:ZREM myzset "apple"
删除myzset
有序集合中的"apple"
成员。zrangebyscore key min max [WITHSCORES]
:根据分数区间获取成员。例如:ZRANGEBYSCORE myzset 15 25
获取myzset
有序集合中分数在15
到25
之间的成员。
推荐
华为开发者空间发布
让每位开发者拥有一台云主机
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)