哪有做网站的公司,wordpress文章图片不显示,价格划算的网站开发,大型网目录 Redis运维查询命令登录redis集群#xff08;登录任意一台即可#xff09;查询redis集群信息#xff08;登录之后#xff09;通过客户端执行命令#xff08;redis-cli#xff09;查询正则“pattern”所有的key redis 启动和创建的命令Redis 常用命令redis 手动命令设… 目录 Redis运维查询命令登录redis集群登录任意一台即可查询redis集群信息登录之后通过客户端执行命令redis-cli查询正则“pattern”所有的key redis 启动和创建的命令Redis 常用命令redis 手动命令设置过期key操作设置 key mykey 过期时间为 60 秒获取 key mykey 的剩余过期时间等待 60 秒后再次获取剩余过期时间 redis 运维工具query在线分析模拟oom模拟宕机模拟hang慢日志查询 Redis运维查询命令
登录redis集群登录任意一台即可
redis-cli -h 127.0.0.1 -p 6379 -a 123456 -n [database, 0 - 16]-h 跟host -p 跟端口 -a 跟密码 -n 数据库 0 ~ 16 单机有效集群默认都是0
查询redis集群信息登录之后
cluster nodes # 显示集群中的节点信息包括节点 ID、IP 地址、端口号等。
cluster info # 显示有关集群的信息如槽分配情况、节点数量等。
cluster meet ip port # 将当前节点与另一个节点连接成集群。
cluster addslots slot [slot ...] # 将槽分配给当前节点。
cluster delslots slot [slot ...] # 将槽从当前节点中删除。
cluster rebalance # 重新分配槽使集群中的槽在节点之间平衡分布。
cluster failover [force|takeover] # 手动触发故障转移将主节点切换到备份节点。
cluster forget node_id # 从集群中移除指定节点。
cluster replicate node_id # 将当前节点作为指定节点的备份节点。
cluster flushslots # 清空当前节点的所有槽。
cluster keyslot key # 返回给定键被分配到的槽号。
cluster countkeysinslot slot # 返回指定槽中包含的键的数量。
cluster getkeysinslot slot count # 返回指定槽中的键列表不推荐在生产环境中使用可能会导致性能问题。通过客户端执行命令redis-cli
redis-cli -h {host} -p {port} {command} # 直接得到命令的返回结果。
$redis-cli -h 127.0.0.1-p 6379 get hello # 输出world
redis-cli -r 3 ping # 表示重复执行3次
redis-cli -r 3 -i 1 ping # 每隔几秒(如果想用ms如10ms则写0.01)执行一次命令必须与-r一起使用。
redis-cli -r 10 -i 1 info|grep used_memory_human # 每隔1秒输出内存的使用量一共输出10次。
redis-cli -h ip -p port info server|grep process_id # 获取redis的进程号999-r [times] 重复执行几次 -h [host] -i 几秒执行一次 -x 代表从标准输入读取数据作为该命令的最后一个参数。echo world |redis-cli -x set hello -c 连接集群结点时使用此选项可防止moved和ask异常。 -a 如配置了密码可用a选项。 --scan和--pattern 用于扫描指定模式的键相当于scan命令。 --slave 当当前客户端模拟成当前redis节点的从节点可用来获取当前redis节点的更新操作。合理利用可用于记录当前连接redis节点的一些更新操作这些更新可能是实开发业务时需要的数据。 --rdb 会请求redis实例生成并发送RDB持久化文件保存在本地。可做定期备份。
--pipe 将命令封装成redis通信协议定义的数据格式批量发送给redis执行。
--bigkeys 统计bigkey的分布使用scan命令对redis的键进行采样从中找到内存占用比较大的键这些键可能是系统的瓶颈。
--eval 用于执行lua脚本
--latency 有三个选项–latency、–latency-history、–latency-dist。它们可检测网络延迟展现的形式不同。
--stat 可实时获取redis的重要统计信息。info命令虽然比较全但这里可看到一些增加的数据如requests每秒请求数
--raw 和 --no-raw –no-raw 要求返回原始格式。–raw 显示格式化的效果。
查询正则“pattern”所有的key
redis-cli -h hostname -p port -a password -n database --raw --scan --pattern patternredis 启动和创建的命令
要启动 Redis 集群你需要先确保已经正确配置了 Redis 集群的配置文件并且安装了 Redis 的相关软件。以下是启动 Redis 集群的一般步骤和命令
准备配置文件: 确保已经创建了适当的 Redis 集群配置文件。在配置文件中你需要指定集群的端口、节点 IP 地址、槽分配等信息。典型的配置文件名为 redis.conf。启动节点: 对于每个 Redis 集群节点你需要启动一个 Redis 服务器实例。在每个节点上使用以下命令启动 Redis 服务器 redis-server /path/to/redis.conf
确保每个节点都在不同的端口上运行并且配置文件中的端口和节点信息正确匹配。
创建集群: 一旦所有节点都已启动并运行你可以使用 Redis 提供的 redis-cli 工具来创建集群。在其中一个节点上执行以下命令
redis-cli --cluster create node1_ip:port node2_ip:port ... --cluster-replicas replicas在这个命令中将 node1_ip:, node2_ip: 等替换为你实际的节点 IP 地址和端口号。 是指每个主节点的备份节点数量。
等待集群创建完成: 在执行上述命令后Redis 会开始创建集群。这个过程可能需要一些时间取决于集群的规模和配置。一旦集群创建完成你就可以开始向 Redis 集群发送命令了。 请注意这里的步骤是一个简单的示例。在实际部署中你可能需要更多的配置和管理操作比如监控集群、调整节点配置等。确保在生产环境中小心谨慎地操作以确保 Redis 集群的高可用性和稳定性。
Redis 常用命令
redis常用查询命令 以下是 Redis 常见数据结构的查询命令 字符串String 当处理 Redis 中的字符串数据类型时以下是一些常用的操作命令 设置字符串值 SET key value [EX seconds|PX milliseconds|NX|XX]: 设置指定 key 的值。可选的参数包括设置过期时间、设置仅在 key 不存在时设置值NX、设置仅在 key 存在时设置值XX。 获取字符串值 GET key: 获取指定 key 的值。 设置并获取旧值 GETSET key value: 设置指定 key 的值并返回旧值。 获取字符串长度 STRLEN key: 获取指定 key 的字符串长度。 追加字符串 APPEND key value: 在指定 key 的值后追加字符串值。 设置子字符串 SETRANGE key offset value: 用给定值覆盖指定 key 所储存的字符串值的子字符串。 获取子字符串 GETRANGE key start end: 获取指定 key 的字符串值的子字符串。 自增/自减 INCR key: 将指定 key 的值增加 1。DECR key: 将指定 key 的值减少 1。INCRBY key increment: 将指定 key 的值增加指定的增量。DECRBY key decrement: 将指定 key 的值减少指定的减量。 浮点数增加 INCRBYFLOAT key increment: 将指定 key 存储的数值增加指定的浮点数增量。 比较并设置 SETNX key value: 仅在指定 key 不存在时设置 key 的值。 多个键操作 MSET key value [key value ...]: 设置多个 key-value 对。MGET key [key ...]: 获取多个 key 的值。 这些命令可以用于操作 Redis 中的字符串数据类型。在实际应用中根据需要选择适当的命令来处理字符串数据。 哈希表Hash Hash 是 Redis 中的一种数据结构它类似于其他编程语言中的哈希表或字典可以用来存储键值对的集合。以下是对 Hash 常见操作的详细说明 设置字段值 HSET key field value: 在指定的哈希 key 中设置字段的值。HMSET key field1 value1 [field2 value2 ...]: 在指定的哈希 key 中设置多个字段的值。 获取字段值 HGET key field: 获取指定哈希 key 中指定字段的值。HMGET key field1 [field2 ...]: 获取指定哈希 key 中一个或多个字段的值。 删除字段 HDEL key field [field ...]: 删除指定哈希 key 中的一个或多个字段。 检查字段是否存在 HEXISTS key field: 检查指定哈希 key 中是否存在指定字段。 获取所有字段名 HKEYS key: 获取指定哈希 key 中所有字段的名字。 获取所有字段值 HVALS key: 获取指定哈希 key 中所有字段的值。 获取字段数量 HLEN key: 获取指定哈希 key 中字段的数量。 获取所有字段和值 HGETALL key: 获取指定哈希 key 中所有字段和值。 自增/自减 HINCRBY key field increment: 将指定哈希 key 中指定字段的值增加指定增量。如果字段不存在则创建字段并将其设置为增量值。 这些命令允许你方便地操作 Redis 中的 Hash 数据结构对于存储和检索键值对集合是非常有用的。在使用 Hash 数据结构时请根据具体情况选择适当的命令以实现所需的功能。 列表List Redis 中的 List 是一个双向链表它支持在列表的两端进行插入和删除操作常用于实现队列、栈等数据结构。以下是 List 数据接口常用命令的详细说明 从左端插入元素 LPUSH key element [element ...]: 将一个或多个值插入到列表头部。 从右端插入元素 RPUSH key element [element ...]: 将一个或多个值插入到列表尾部。 从左端移除元素 LPOP key: 移除并返回列表的第一个元素。 从右端移除元素 RPOP key: 移除并返回列表的最后一个元素。 获取列表长度 LLEN key: 获取列表的长度。 获取指定范围的元素 - LRANGE key start stop: 获取列表中指定范围内的元素范围从 start 到 stop。设置指定位置的元素值 LSET key index value: 设置列表中指定位置的元素值。 获取指定位置的元素值 LINDEX key index: 获取列表中指定位置的元素值。 移除列表中指定值的元素 LREM key count value: 从列表中删除指定数量的与给定值相等的元素。 修剪列表 LTRIM key start stop: 对列表进行修剪只保留指定范围内的元素。 阻塞式弹出元素 BLPOP key1 [key2 ...] timeout: 阻塞式弹出列表的第一个元素如果列表为空则等待直到有元素被加入或达到超时时间。BRPOP key1 [key2 ...] timeout: 类似于 BLPOP但从列表尾部弹出元素。 阻塞式弹出元素并将其添加到另一个列表 BRPOPLPUSH source destination timeout: 从列表 source 的尾部弹出一个元素并将其添加到列表 destination 的头部如果 source 为空则等待直到有元素被加入或达到超时时间。 这些命令可以方便地对 Redis 中的 List 进行操作实现队列、栈等数据结构的功能。在使用 List 数据结构时请根据具体需求选择合适的命令。 集合Set SMEMBERS key: 获取集合中的所有成员。SADD key member [member …]: 向集合添加一个或多个成员。 有序集合Sorted Set ZRANGE key start stop [WITHSCORES]: 根据索引范围获取有序集合中的成员。ZADD key score member [score member …]: 向有序集合添加一个或多个成员或更新已存在成员的分数。 位图Bitmap GETBIT key offset: 获取位图指定偏移量上的位值。SETBIT key offset value: 设置位图指定偏移量上的位值。 7.地理空间GeospatialGEOPOS key member [member …]: 获取指定地理空间 key 中一个或多个成员的地理位置。 HyperLogLog PFADD key element [element …]: 向 HyperLogLog 添加指定元素。PFCOUNT key [key …]: 获取 HyperLogLog 的基数估算值。 这些是 Redis 常见数据结构的查询命令每种数据结构都有相应的查询方法来获取或操作数据。在使用这些命令时请注意适当处理数据和异常情况并根据具体情况选择适合的命令。
redis 手动命令设置过期key操作
在 Redis 中可以通过设置过期时间来使 key 在一段时间后自动过期。一旦 key 过期Redis 会自动删除它。以下是设置过期时间和处理过期 key 的一些命令
设置过期时间
EXPIRE key seconds: 设置 key 的过期时间单位为秒。PEXPIRE key milliseconds: 设置 key 的过期时间单位为毫秒。EXPIREAT key timestamp: 设置 key 的过期时间戳时间戳是一个 UNIX 时间戳指定了 key 的过期时间点。
获取剩余时间
TTL key: 获取 key 的剩余过期时间单位为秒。如果 key 不存在或没有设置过期时间返回 -1如果 key 已过期返回 -2。
处理过期 key
Redis 在后台自动处理过期 key无需手动操作。可以使用 DEL 命令手动删除已经过期的 key。也可以使用 SCAN 命令遍历所有的 key并通过检查剩余过期时间来判断是否过期然后删除已经过期的 key。 示例
设置 key “mykey” 过期时间为 60 秒
127.0.0.1:6379 SET mykey Hello
OK
127.0.0.1:6379 EXPIRE mykey 60
(integer) 1获取 key “mykey” 的剩余过期时间
127.0.0.1:6379 TTL mykey
(integer) 59等待 60 秒后再次获取剩余过期时间
127.0.0.1:6379 TTL mykey
(integer) -2通过设置过期时间Redis 能够自动管理 key 的生命周期使得开发者无需手动处理 key 的过期和删除操作。
redis 运维工具
query在线分析
redis-cli MONITOR | head -n 5000 | ./redis-faina.py 监控正在请求执行的命令 在cli下执行monitor生产环境慎用。
模拟oom
redis-cli debug oom模拟宕机
redis-cli debug segfault模拟hang
redis-cli -p 6379 DEBUG sleep 30慢日志查询
要在 Redis 集群中查询慢日志你可以使用以下方法 1.通过命令行查询在任何一个 Redis 节点上你可以使用 redis-cli 工具来查询慢日志。以下是基本的命令
redis-cli -c -h node_ip -p port slowlog get n其中 是你想要查询的慢日志条目数量。你也可以使用其他参数和选项来调整查询结果例如使用 slowlog len 命令查看慢日志的长度。 2.通过编程接口查询如果你正在使用 Redis 的编程接口如 Python 的 redis-py、Node.js 的 ioredis 等你可以使用相应的客户端库来查询慢日志。这通常通过执行 SLOWLOG GET 命令来完成具体实现方式会因语言和库而异。 3.使用监控工具一些监控工具可以帮助你更方便地查询和分析 Redis 集群的慢日志例如 RedisInsight、RedisStat 等。在执行慢日志查询时你需要注意以下几点
在生产环境中建议定期查询慢日志并根据查询结果进行优化。对于生产环境避免频繁查询慢日志以免影响 Redis 服务器性能。如果发现某个节点的慢查询频率较高需要仔细分析具体的慢查询原因并针对性地优化相关代码或查询。
参考文献 http://doc.redisfans.com/index.html