千家信息网

Redis基础

发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,一、进程ps -ef |grep redis-serverredis13 2348 1 1 Jul18 ? 06:57:42 redis-server 192.168.18
千家信息网最后更新 2026年10月31日Redis基础


一、进程

ps -ef |grep redis-serverredis13   2348     1  1 Jul18 ?        06:57:42 redis-server 192.168.18.85:6388redis02   3472     1  3 Jan10 ?        7-02:03:45 /home/redis02/redis/bin/redis-server 192.168.18.85:6384                redis02   4515     1  4 Jan10 ?        8-13:19:32 /home/redis02/redis/bin/redis-server 192.168.18.85:6385                redis02   5360     1  3 Jan10 ?        6-17:10:42 /home/redis02/redis/bin/redis-server 192.168.18.85:6386                redis02   6285     1  3 Jan10 ?        6-12:31:38 /home/redis02/redis/bin/redis-server 192.168.18.85:6387


二、启动命令

./redis-cli -h 192.168.18.85 -p 6384


三、基础命令

#查看匹配前缀的keyskeys "miao*"#随机取出一个keyrandomkey#查看key的类型type key#查看数据库中key的数量dbsize#查看服务器信息info#查看redis正在做什么monitor#查看所有keykeys *  或  keys "*"#清空redisflushdb#取key值get key


四、Redis 的重要健康指标

【0】慢日志:①、通过命令[slowlog get]得到 Redis 执行的 slowlog 集合,理想情况下slowlog 集合应该为空即没有任何慢日志。

②、若发现有慢命令,则应该逐个分析是否正常,是否需要优化。

192.168.17.46:6386> slowlog get

1) 1) (integer) 22

2) (integer) 1563344158

3) (integer) 10193

4) 1) "SET"

2) "getBatchChapterFiles"

3) "\x0b\xfa\529:\t489761532B\x02-1J\t48976181... (1293 more bytes)"


【1】存活情况:是最重要的健康指标,通过命令 PING 的响应是否为 PONG 来判断。

~/redis/bin> ./redis-cli

127.0.0.1:6379> ping

PONG


【2】连接数:①、连接的客户端数量,[redis-cli info Clients|grep connected_clients] 得到,这个值与使用 Redis 服务的连接池配置关系比较大,这个值如果很大,需要排查问题原因。②、另外还有一个拒绝连接数(rejected_connections)也需要关注,这个值理想状态是 0 。如果大于 0,说明创建的连接数大于 maxclients,需要排查原因。是 Redis 连接池配合不合理还是连接这个Redis 的服务过多。


【3】阻塞客户端数量:blocked_clients 通常是执行了 list 数据类型的 BLPOP 或者 BRPOP 命令引起的,可以通过[redis-cli info Clients|grep blocked_clients]得到,这个值最应该=0。


【4】使用内存峰值:①、监控 Redis 内存使用峰值,可以通过命令[config set maxmemory]设置允许使用的最大内存。②、为了防止发生 swap 导致 Redis 性能骤减,甚至由于使用内存超标导致系统kill,建议used_memory_peak(占用内存的峰值)的值与maxmemory 的值有个安全区间,例如1G。


【5】内存碎片率:①、mem_fragmentation_ratio = used_memory_rss/use_memory 当值大于1时,表示分配的内存超过实际使用的内存,数值越大[利用率不高],碎片率越严重。当这个值小于1时,表示发生了 swap(Swap分区在系统的物理内存不够用的时候,把物理内存中的一部分空间释放出来,以供当前运行的程序使用) ,既可用内存不足。

②、Redis4.0 有一个主要的特性就是优化内存碎片率问题(Memory de-fragmentation)。在redis.conf 配置文件中[ACTIVE DEFRAGMENTATION:碎片整理允许 Redis 压缩内存空间,从而回收内存。此特性默认是关闭的,可以通过命令CONFIG SET activedefrag yes 热启动这个特性]。

③、当内存使用量(use_memory)很小的时候,这个值参考价值不大。所以建议 used_memory 至少 1G 以上才考虑对内存碎片率进行监控。

【6】缓存命中率:①、keyspace_misses/keyspace_hits 这两个指标用来统计缓存的命中率,keyspace_misses值未命中次数,keyspace_hits 表示命令次数。keyspace_hits/(keyspace_misses+keyspace_hits) 就是缓存命中率。②、如果缓存命中率过低,那么要排查对缓存的用法是否有问题。


【7】OPS:instantaneous_pos_per_sec 表示缓存的OPS(operation per second 每秒操作次数)


【8】持久化:①、rdb_last_bgsave_status/aof_last_bgrewrite_status,即最近一次或者最后一次 RDB/AOF 持久化是否有问题,这两个值都应该时 "OK"。②、由于 Redis 持久化时会 fork 子进程,且 fork 是一个完全阻塞的过程,所以可以监控 fork 耗时即:latest_fork_usec,单位是微妙,如果这个值比较大会影响业务,甚至出现 timeout 。


【9】失效KEY:如果把 Redis 当缓存使用,那么建议所有的 key 都设置 expire 属性,通过命令 redis-cli info Keyspace 得到每个 db 中 key 的数量和设置了 expire属性的 key 的属性,且 expires(表示设置了超时时间的key个数) 需要等于 keys。





内存 命令 缓存 碎片 命中率 数量 问题 可以通过 属性 峰值 建议 指标 次数 特性 服务 监控 重要 健康 两个 原因 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 中国互联网科技工作委员会毛军 美国互联网科技巨头监管 朗新科技与工业互联网 金诺互联网科技 上海挚品互联网科技 狮子座互联网科技 万易互联网科技有限公司 互联网科技公司有哪些 互联网养老 桔豆科技 富国互联网科技创新基金 互联网之后的科技是什么 徐州市互联网科技有限公司 广州燕处互联网科技有限公司 互联网科技手机排行榜 同城互联网络科技 中国互联网公司的科技投入 10位科技互联网大佬 科技互联网专业务虚会材料 互联网企业和网络科技有限公司 互联网科技企业文化 新华互联网科技学院 港股互联网科技股 盛创互联网科技有限公司 哈尔滨秒房互联网科技有限公司 彤创互联网科技有限公司 呼和浩特新华互联网科技学院 半导体行业属于互联网高科技类吗 江苏互联网智能科技产品出厂价 广西泛欧互联网科技有限公司 互联网科技创新创业项目
0