【redis】常用命令

举报
幼儿园老大* 发表于 2024/10/29 21:40:27 2024/10/29
【摘要】 Redis 常用命令如下:连接与基本操作命令:ping:用于检查 Redis 服务是否正在运行。客户端向服务器发送一个 PING 请求,服务器会返回 PONG,表示连接正常。例如:PING 返回 PONG 则表示连接正常。auth password:如果 Redis 服务器设置了密码,客户端连接后需要使用此命令进行身份验证。只有输入正确的密码,才能执行其他命令。例如:AUTH mypassw...
Redis 常用命令如下:


  1. 连接与基本操作命令
    • ping:用于检查 Redis 服务是否正在运行。客户端向服务器发送一个 PING 请求,服务器会返回 PONG,表示连接正常。例如:PING 返回 PONG 则表示连接正常。
    • auth password:如果 Redis 服务器设置了密码,客户端连接后需要使用此命令进行身份验证。只有输入正确的密码,才能执行其他命令。例如:AUTH mypassword(其中 mypassword 是设置的密码)。
    • select index:Redis 支持多个数据库,默认有 16 个(编号 0 - 15),使用此命令可以切换到指定的数据库。例如:SELECT 3 切换到 3 号数据库。
    • quit:用于关闭当前与 Redis 服务器的连接。
  2. 键(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:从当前数据库中随机返回一个键。
  3. 字符串(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:获取键所储存的字符串值在指定偏移量上的位值。
  4. 哈希(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
  5. 列表(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:移出并获取列表的最后一个元素,如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止。
  6. 集合(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 中。
  7. 有序集合(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

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。