-
用 Redis HyperLogLog 做站点 UV 统计:通过 PFADD 写入用户标识,用 PFCOUNT 读取近似去重人数,对比 Set 精确去重的内存成本,并说明适用场景和误差边界。
-
要保护Redis数据不被未授权访问,应采取以下措施:1.设置强密码认证,使用requirepass配置项。2.绑定Redis到特定IP地址,如127.0.0.1。3.使用ACL设置不同用户权限。4.配置防火墙规则限制Redis端口访问。5.使用TLS加密Redis通信。通过这些措施,可以有效降低Redis数据泄露风险,确保应用安全性和稳定性。
-
AOF本质是只追加不修改的文本日志,通过重放命令恢复数据;appendfsync决定落盘策略,everysec为生产默认;SELECT因影响命令作用域被记录;BGREWRITEAOF基于内存快照重生成最小日志;no-appendfsync-on-rewrite可缓解重写时I/O竞争。
-
增大repl-backlog-size能修复断连后全量回滚,因其为主节点提供足够大的环形缓冲区暂存断连期间的写命令;只要从节点重连时请求的slave_repl_offset仍在该缓冲区内(即master_repl_offset−slave_repl_offset≤repl_backlog_histlen),即可触发PARTIALRESYNC实现增量同步,避免FULLRESYNC。
-
Redis集群中requirepass无效,因其仅作用于客户端端口(如6379),不约束集群总线端口(如16379);节点间通信明文进行,需依赖网络隔离、ACL及正确配置cluster-announce-ip等措施保障安全。
-
redis-check-aof--fix是唯一能直接修复尾部截断类AOF损坏的官方手段,但仅删除末尾无效字节,不恢复中间损坏或语义错误命令;遇Badfileformat错误需先备份、核对版本与路径,注意模块命令兼容性及系统层限制。
-
Redis集群不处理小文件,RDB压缩是单节点操作;每个主节点独立生成并压缩dump.rdb,仅支持内置LZF压缩,高率压缩需备份后用zstd等外部工具完成。
-
托管Redis需连云平台提供的主节点或只读地址,不可用slaveof;集群版默认仅支持db0;RedisConnectionFactory不可热刷新;主从延迟属正常现象,强一致读应直连主节点。
-
RedisPub/Sub不支持延迟投递,一发即广播、离线即丢失;可靠延时需绕开Pub/Sub,改用ZSET存消息+调度器触发PUBLISH,并用Lua保证原子性。
-
everysec模式下主线程不阻塞,而是将fsync请求提交给后台线程异步执行;实际落盘延迟受I/O负载和内核参数影响,可能数秒甚至失败,连续两次失败则降级为no;监控aof_pending_bio_fsync和aof_delayed_fsync可判断磁盘I/O是否瓶颈。
-
Redis原生String类型无法解析JSON字段,必须用RedisJSON模块实现路径查询、原子更新等能力;启用需加载模块,使用JSON.SET/JSON.GET命令,性能提升体现在频繁子字段操作场景。
-
Redis集群默认不支持读写分离,所有请求均被重定向至主节点,从节点仅用于故障转移;如需读写分离,须弃用集群客户端,改用普通主从客户端自行路由。
-
能,从库可记录慢查询日志但需在redis.conf中显式配置slowlog-log-slower-than和slowlog-max-len,主库配置不自动同步,且慢日志为实例级本地行为。
-
能,但需满足版本一致、关闭AOF、RDB文件路径和名称匹配、权限正确等硬性条件,否则启动报错或数据不一致。
-
推荐用base64url编码6字节随机数生成短码,冲突概率低且不可预测;需先EXISTS校验再写入,跳转用Lua脚本原子读URL并INCR计数,Redis用String类型存short:{code}→URL,设EX过期,stat:{code}单独存访问量。