答:常见有 String、Hash、List、Set、Sorted Set 和 Stream,另有 Bitmap、HyperLogLog 等适合特定统计的结构。Redis 8 统一发行包还包含 JSON、搜索等能力。
答:Redis 可以直接对存好的值做结构化操作。除了按键取值,还能更新某个字段、增加分数、弹出队列元素、读取流。它也提供持久化和复制选项。
答:Memcached 适合简单的内存对象缓存,典型操作是按键保存与读取。Redis 提供更多结构、脚本、持久化和复制,适合需要原子计数、排名或流消费的场景。
答:单个 Redis 实例的普通命令执行主要由主线程串行处理。网络 I/O、异步释放和部分后台工作可以由其他线程或子进程完成。Redis 6 加入可配置的 I/O 线程,用来分担网络读写。
答:普通 Redis 的默认字符串大小上限按 512 MiB 理解。具体命令、协议限制和部署配置仍要核对。值越大,单次读写要搬运的数据越多。
答:RDB 保存某个时间点的数据快照,适合备份与全量恢复。AOF 记录可重放的写操作,按刷盘策略可以缩小可丢失窗口。两者都可开启。
答:访问某个键时发现已过期,会按过期处理。后台还会主动抽查带过期时间的键,清理那些长期没人访问的过期键。
答:内存能快速随机访问,适合 Redis 的短操作和数据结构。普通实例通常要为工作数据、键和值的额外结构、客户端缓冲及后台任务准备足够内存。
答:Pipeline 让客户端发一批命令后再集中读取回复,减少客户端一条条等回复的时间。服务端仍逐条处理,批次不会自动获得事务隔离。
答:副本连接主节点后,可用复制 ID 与偏移请求继续。主节点的积压缓冲还覆盖所缺部分时做部分重同步,否则通常需要全量同步,再补后续写入。