-
托管Redis需连云平台提供的主节点或只读地址,不可用slaveof;集群版默认仅支持db0;RedisConnectionFactory不可热刷新;主从延迟属正常现象,强一致读应直连主节点。
-
everysec模式下主线程不阻塞,而是将fsync请求提交给后台线程异步执行;实际落盘延迟受I/O负载和内核参数影响,可能数秒甚至失败,连续两次失败则降级为no;监控aof_pending_bio_fsync和aof_delayed_fsync可判断磁盘I/O是否瓶颈。
-
LTRIM是限制RedisList长度的唯一可靠方式,因其原子性、精准截断和内存即时释放特性;必须配合LPUSH使用,错误参数会清空列表,高并发下推荐Lua脚本保障原子性。
-
MAXLEN是RedisStreams唯一实时限长方式,必须与XADD原子配合使用;~N为近似保留,N为严格上限;XTRIM仅作兜底,非实时;语法中MAXLEN须紧随stream名后,错位即报错。
-
MySQL数据归档主要有四种方式。1.使用SQL语句手动归档,通过INSERT和DELETE迁移历史数据,适合小规模场景但需注意事务控制、索引影响和备份确认;2.利用事件调度器实现定时自动归档,可设定周期任务并建议配合分区使用以减少性能影响;3.结合时间分区表进行归档,提升查询效率且操作整个分区更高效,但存在分区键设计限制;4.借助第三方工具如pt-archiver或mysqldump,前者支持边归档边删除并控制资源占用,后者适用于低频小规模归档。根据数据量和业务需求选择合适方法,小型项目可用SQL+事件
-
推荐用base64url编码6字节随机数生成短码,冲突概率低且不可预测;需先EXISTS校验再写入,跳转用Lua脚本原子读URL并INCR计数,Redis用String类型存short:{code}→URL,设EX过期,stat:{code}单独存访问量。
-
RedisLua脚本无法实现SCAN分页,因脚本无状态且无法维护游标;唯一可行方案是客户端驱动SCAN分页,Lua仅负责单次结果的模式匹配与截取。
-
首要排查项是repl-timeout,默认60秒,主从间REPLCONFACK延迟超时即断连;需主从同时调大该值,如设为120秒,并排查TCP保活、输出缓冲区、系统连接限制及ACK抖动等隐性瓶颈。
-
客观下线(ODOWN)需多个哨兵通过Gossip协议交换信息并达成quorum共识;quorum是sentinel.conf中配置的最小同意数,非哨兵总数,设为1则退化为主观下线;哨兵间通过SENTINELis-master-down-by-addr命令探测,超时未响应将导致无法凑够quorum;Gossip异步、无中心、带超时,不保证强一致,以换取快速故障发现与低带宽开销;验证ODOWN应使用SENTINELmasters检查flags是否含odown,而非仅依赖+sdown日志。
-
新消费者收不到旧消息是因为XGROUPCREATE默认从最新偏移($)开始消费,不自动回溯;需显式指定起始ID0或用XREADGROUPSTREAMSmystream0补读,且必须及时XACK避免重复分配。
-
选择合适的MySQL数据类型能节省存储空间、提升查询性能并确保数据准确性。常见的数据类型分为数值型(如INT、DECIMAL)、字符串型(如CHAR、VARCHAR)和日期时间型(如DATE、DATETIME、TIMESTAMP)。选择时应遵循几个关键点:1.节省存储空间,如状态字段用TINYINT;2.提高查询效率,优先使用定长类型;3.避免精度丢失,金额字段用DECIMAL;4.注意默认行为差异,如TIMESTAMP自动处理时区。常见场景推荐:用户ID用INTUNSIGNED或BIGINT,用户名用V
-
redis-cli的monitor命令可实时打印所有指令但仅限调试环境,因性能开销大、无过滤能力、输出非结构化,生产环境应禁用;推荐用slowlog(设slowlog-log-slower-than为0)替代。
-
要定位被淘汰的key,需监控evicted_keys增量、expired_keys飙升情况,并结合Redis7.0+的MEMORYUSAGE与OBJECTFREQ抽样分析;allkeys-lru不安全,应优先用volatile-lru/lfu;LFU更耗CPU因频次衰减更新;验证key是否频繁淘汰可用PFADD+PFCOUNT埋点统计。
-
MySQL管理数据库连接的核心在于高效配置与优化连接池,以避免资源过度消耗并提升性能。1.连接过多会导致性能下降、资源耗尽、响应延迟和连接拒绝;2.连接池核心参数包括initialSize(初始连接数)、maxActive(最大连接数)、minIdle(最小空闲连接数)和maxWait(最大等待时间),需根据业务量和服务器性能合理设置;3.调优策略包括监控连接使用情况、进行压力测试、逐步调整参数及采用动态调整机制;4.最佳实践涵盖缩短连接占用时间、使用事务、避免耗时操作、使用预编译语句及及时关闭连接;5.
-
缓存击穿是热点key过期瞬间大量请求直击数据库,微服务中因多实例并发回源使DB压力放大N倍;需用原子SET命令加锁、逻辑过期替代永不过期、服务自治布隆过滤器并强同步更新。