-
Redis内存过载时jemalloc拒绝分配,是因内部碎片或保留页不足主动返回NULL触发OOMerror,与LinuxOOMKiller无关;关键看INFOmemory中allocator_allocated、active、mapped的剪刀差而非used_memory。
-
SAVE命令会阻塞Redis主进程同步写入RDB文件,期间不处理任何请求;适用于停机前且可接受中断的场景,但生产环境应优先用BGSAVE,配合AOF才能保障数据不丢。
-
RedisRDB不支持并行拉取切片,因其为单文件顺序写入二进制快照,无分片格式与元数据索引;并行只能在实例粒度实现,即多master同时BGSAVE。
-
推荐用base64url编码6字节随机数生成短码,冲突概率低且不可预测;需先EXISTS校验再写入,跳转用Lua脚本原子读URL并INCR计数,Redis用String类型存short:{code}→URL,设EX过期,stat:{code}单独存访问量。
-
XDEL对已消费消息无效,因其仅逻辑删除未被任何消费者组读取的消息;已入PEL的消息调用XDEL会静默返回0,必须用XACK释放再XTRIM裁剪。
-
SENTINELFAILOVER无反应大概率因哨兵未达成共识或主节点状态不满足切换前提:需至少3个哨兵在线且通信正常,目标master必须存在于SENTINELMASTER列表且角色为master,quorum值不可高于实际哨兵数;命令返回OK不代表切换完成,须依次验证哨兵failover_in_progress标志、新主role:master且无master_host、旧主已变为slave并指向新主;手动触发不模拟真实故障路径,无法检测发现延迟、重连失败及客户端重定向问题;演练前须调大down-afte
-
BITFIELD存储指定宽度和符号性的整数片段(如i8、u16),非完整整数对象;支持位级读写、原子增减及溢出控制,但需注意偏移单位为位、未初始化位返回0、跨字节边界正确处理及客户端解析差异。
-
Redis集群通过主从复制、故障转移和一致性哈希保障数据一致性。优化方法包括:1.调整网络配置,提升网络性能;2.合理的数据分片策略,均衡负载;3.采用读写分离,提升读性能和降低主节点压力。
-
红包拆解必须用RedisLua脚本实现原子操作,通过线段切割法生成严格满足总和与最小值约束的随机金额,并配合EVALSHA调用、兜底校验及集群哈希标签设计确保资金安全与高并发正确性。
-
在MySQL中创建数据库和表的步骤如下:1.使用CREATEDATABASE命令创建数据库,例如CREATEDATABASEmy_database;2.使用CREATETABLE命令创建表,例如在my_database中创建users表:USEmy_database;CREATETABLEusers(idINTAUTO_INCREMENTPRIMARYKEY,nameVARCHAR(100)NOTNULL,emailVARCHAR(100)UNIQUENOTNULL);3.创建更多表并通过FOREIGNK
-
不能,RLock仅提供分布式锁功能,不解决缓存击穿;需结合双检、空值缓存、合理锁超时与降级策略才能有效防护。