如何使用本指南 本指南以备有完整示例的备忘单形式编写。我们鼓励您跳至与您要完成的任务相关的任何部分。 本指南中显示的命令已在运行Redis版本4.0.9的ubuntu 18.04服务器上进行了测试。要设置类似的环境,您可以按照我们的指南如何
本指南以备有完整示例的备忘单形式编写。我们鼓励您跳至与您要完成的任务相关的任何部分。
本指南中显示的命令已在运行Redis版本4.0.9的ubuntu 18.04服务器上进行了测试。要设置类似的环境,您可以按照我们的指南如何在Ubuntu 18.04上安装和保护Redis的步骤1进行操作。我们将通过使用Redis命令行界面运行它们来演示这些命令的行为。请注意,如果您使用其他Redis界面(例如Redli),则某些命令的确切输出可能会有所不同。redis-cli
另外,您可以提供一个托管的Redis数据库实例来测试这些命令,但是请注意,根据数据库提供者所允许的控制级别,本指南中的某些命令可能无法按所述方式工作。要配置DigitalOcean托管数据库,请遵循我们的托管数据库产品文档。然后,您必须 安装Redli 或 设置TLS隧道才能通过TLS连接到托管数据库。
memory usage
告诉您单个键当前正在使用多少内存。它以键的名称作为参数,并输出其使用的字节数:
memory usage key_meaninGofLife
(integer) 42
为了更全面地了解您的Redis服务器如何使用内存,可以运行以下memory stats
命令:
memory stats
此命令输出与内存相关的指标及其值的数组。以下是报告的指标memory stats
:
peak.allocated
:Redis消耗的最大字节数total.allocated
:Redis分配的总字节数startup.allocated
:Redis在启动时消耗的初始字节数replication.backlog
:复制积压的大小,以字节为单位clients.slaves
:所有副本_开销_的总大小(输出和查询缓冲区以及连接上下文)clients.nORMal
:所有客户端开销的总大小aof.buffer
:当前和重写的仅附加文件缓冲区的总大小db.0
:服务器上正在使用的每个数据库的主要和到期字典的开销,以字节为单位报告overhead.total
:用于管理Redis密钥空间的所有开销的总和keys.count
:服务器上所有数据库中存储的密钥总数keys.bytes-per-key
:服务器的净内存使用率与 keys.count
dataset.bytes
:数据集的大小,以字节为单位dataset.percentage
:Redis占用的Redis净内存使用量的百分比 dataset.bytes
peak.percentage
:peak.allocated
取出的百分比total.allocated
fragmentation
:当前正在使用的内存量除以Redis实际使用的物理内存之比memory malloc-stats
提供了来自jemalloc的内部统计报告,该报告是linux系统上Redis使用的内存分配器:
memory malloc-stats
如果您似乎遇到了与内存有关的问题,但是解析前面命令的输出证明是无济于事的,则可以尝试运行memory doctor
:
memory doctor
此功能将输出它可以找到的所有内存消耗问题,并提出潜在的解决方案。
与内存管理没有直接关系的调试命令是monitor
。此命令使您可以查看Redis服务器处理的每个命令的恒定流:
monitor
OK
1566157213.896437 [0 127.0.0.1:47740] "auth" "foobared"
1566157215.870306 [0 127.0.0.1:47740] "set" "key_1" "878"
另一个对调试有用的命令是info
,它返回有关服务器的多个信息和统计信息块:
info
# Server
redis_version:4.0.9
redis_git_sha1:00000000
redis_git_dirty:0
redis_build_id:9435c3c2879311f3
redis_mode:standalone
os:Linux 4.15.0-52-generic x86_64
. . .
此命令返回很多信息。如果您只想查看一个信息块,则可以将其指定为info
:
info CPU
# CPU
used_cpu_sys:173.16
used_cpu_user:70.89
used_cpu_sys_children:0.01
used_cpu_user_children:0.04
请注意,该info
命令返回的信息将取决于您所使用的Redis版本。
keys
命令keys
如果您忘记了某个键的名称,或者您已经创建了一个键,但又意外误拼了它的名称,则该命令很有用。keys
查找与模式匹配的键:
keys pattern
支持以下glob样式的变量
?
是通配符站在任何单个字符,这样s?mmy
的比赛sammy
,sommy
和sqmmy
*
是一个通配符,用来代表任何数量的字符,包括没有任何字符,所以sa*y
比赛sammy
,say
,sammmmmmy
,和salmony
s[ai]mmy
匹配sammy
和simmy
,但不能匹配summy
^
),这样s[^oi]mmy
可以匹配sammy
和sxmmy
,但不能匹配sommy
或simmy
s[a-o]mmy
将匹配sammy
,skmmy
和sommy
,但不srmmy
**警告:**本Redis的文件警告说,keys
应该几乎从来没有在生产环境中使用,因为它可能会对性能产生重大的负面影响。
本指南详细介绍了许多命令,这些命令可用于故障排除和解决与Redis一起使用时可能遇到的问题。如果您想在本指南中概述其他相关的命令,参数或过程,请在下面的评论中提出疑问或提出建议。
有关Redis命令的更多信息,请参阅关于如何管理Redis数据库的系列教程。
--结束END--
本文标题: (Redis基础教程之十二) 如何解决Redis中的故障
本文链接: https://lsjlt.com/news/6131.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-10-23
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0