Redis常用全局命令

目录

0.redis-cli

1.set

2.get

3.keys

4.exists

5.del

6.expire

7.ttl

8.type

9.flushall

10.再谈set


0.redis-cli

登录redis客户端的命令。

redis 服务以默认配置(IP 为 127.0.0.1,端口为 6379)运行,此时命令会自动使用默认参数连接。

也可以使用   redis-cli -h + 目的ip + -p + 目的端口   命令登录。两种方式都如下图。

1.set

set key value  可以设置一组键值对。value的数值类型需要为String。

注意这里的String不是指只能是字符串。即使我们设置数字也无需加字符串。

与String相对的是哈希表,列表,集合,有序集合等。

正确设置与失败设置如下图。

2.get

get key  可以获得key对应的value。

与set相对应,它只能获取String类型的value。

3.keys

keys pattern  根据pattrn获取符合条件的key。根据redis官网描述如下:

  • h?llo matches hellohallo and hxllo
  • h*llo matches hllo and heeeello
  • h[ae]llo matches hello and hallo, but not hillo
  • h[^e]llo matches hallohbllo, ... but not hello
  • h[a-b]llo matches hallo and hbllo

?代指一个字符。*代指0或若干个字符。

[ae]表示a或e。[^e]表示除了e都可以。[a-b]表示字符a到字符b的数据都可以匹配。

由此我们也可以知道key * 命令就可以查看所有的key。但是这种操作在生产环境上十分危险,因为这种遍历所有的key时间复杂度是O(n),如果key十分多会消费很长的时间。会造成线程阻塞,redis又是单线程的,会导致很多其他请求无法及时响应!!!

4.exists

exists + key[key]。表示exists后面接的一个或多个key是否存在。返回存在key的个数。

5.del

del + key[key]。del后面接一个或多个key,表示删除这些key。返回删除key的个数。

6.expire

expire + key+时间数。为key设置过期时间。单位为秒。返回设置成功的个数。

更小单位的指令为pexpire 单位为毫秒。用法相同。

下图我为hxllo设置10秒过期时间,10秒内检查hxllo是存在的,超过10秒检查就不存在了。

7.ttl

ttl + key。用于查看key的存活时间。ttl的意思为"time to live",即存活时间。返回存活时间的值。

如果key已经不存在了,返回-2。对应key没有设置过期时间返回-1。

这个词在ip的报头中也有,了解过的读者一定会熟悉这个ttl的。想了解ip协议的可看IPv4协议_ipv4的协议号-CSDN博客,也是我写的。

8.type

type +  key。查看key对应的value的数据类型是什么。

9.flushall

删除所有的key。

10.再谈set

如果每次都要先set值之后再expire设置过期时间,也太麻烦了。

其实set在官网的描述是这样的:

我们可以在设置key的同时设置过期时间。ex设置秒级别的 px设置毫秒级别的。

nx表示key不存在时生效。xx表示存在时生效。

### 查看 Redis 集群状态的 Linux 命令 在管理 Redis 集群时,可以通过 `redis-cli` 工具来执行一系列命令以检查集群的状态。以下是常用命令及其说明: #### 使用 `CLUSTER INFO` 获取集群基本信息 此命令返回关于 Redis 集群的整体信息,包括集群状态、槽位分布情况以及节点数量等。 ```bash redis-cli -c -h <host> -p <port> CLUSTER INFO ``` 例如,在实际环境中运行该命令可能类似于以下形式: ```bash redis-cli -c -h 10.0.0.31 -p 6379 CLUSTER INFO ``` 这会显示诸如 `cluster_state:ok` 或者 `cluster_slots_assigned:16384` 的字段[^1]。 #### 列出所有节点的信息 通过 `CLUSTER NODES` 可以获取整个集群中各个节点的具体详情,包括主从关系、IP 地址、端口号以及其他元数据。 ```bash redis-cli -c -h <host> -p <port> CLUSTER NODES ``` 对于部署有多个节点的情况(如引用中的描述),可以针对任意一个可用节点发起请求并获得全局视图[^2]: ```bash redis-cli -c -h 10.0.0.31 -p 6379 CLUSTER NODES | grep master ``` #### 检查特定键所属的槽号及负责节点 利用 `CLUSTER KEYSLOT` 和 `GETKEYSINSLOT` 能够定位某个具体 key 存储在哪一 slot 中,并进一步确认哪个 node 正在承载它。 ```bash redis-cli CLUSTER KEYSLOT mykeyname redis-cli -c -h <node_ip> -p <node_port> CLUSTER GETKEYSINSLOT <slot_number> 10 ``` #### 执行健康状况检测脚本 除了上述内置指令外,还有专门设计用来评估整体架构稳定性的外部工具——`redis-trib.rb`(旧版)或者更新后的 Python 实现版本。它们能够自动化完成更多复杂的诊断任务比如平衡 slots 分布等等[^3]. 注意:以上操作均需确保客户端已正确连接至目标网络环境下的 Redis server instance 上;另外考虑到安全性因素,请务必遵循企业内部 IT 安全策略设置访问权限控制机制[^4]^. --- ### 提供一段简单的 Shell Script 示例代码用于批量查询各主机上的 Redis Cluster Status: ```shell #!/bin/bash HOSTS=("10.0.0.31" "10.0.0.32" "10.0.0.33") for host in "${HOSTS[@]}" do echo "Checking $host..." redis-cli -h "$host" -p 6379 CLUSTER INFO >> cluster_status.log done ``` 此脚本将会把每台服务器的结果追加写入名为 `cluster_status.log` 文件里以便后续分析处理[^5]. ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值