出2个redis 面试题
时间: 2023-10-31 10:44:29 浏览: 115
好的,请看以下两个 Redis 面试题:
1. Redis 的数据结构有哪些?它们的应用场景分别是什么?
Redis 支持的数据结构有:
- 字符串(string):存储字符串、整数或二进制数据。
- 列表(list):按照插入顺序排序的字符串元素集合,支持从两端添加或删除元素。
- 集合(set):无序的字符串元素集合,支持添加、删除、取交集、并集和差集等操作。
- 有序集合(sorted set):有序的字符串元素集合,每个元素都有一个分数值,可以根据分数值进行排序和范围查找。
- 哈希表(hash):包含键值对的无序散列表,支持添加、删除、查找单个或多个键值对。
这些数据结构的应用场景如下:
- 字符串:常用于缓存、计数器、分布式锁等。
- 列表:常用于消息队列、最近联系人列表等。
- 集合:常用于好友列表、标签系统等。
- 有序集合:常用于排行榜、计分系统等。
- 哈希表:常用于存储对象、用户信息等。
2. Redis 的持久化机制有哪些?
Redis 支持两种持久化机制:
- RDB(Redis Database):在指定的时间间隔内将内存中的数据集快照写入磁盘,生成一个快照文件。可以通过配置自动保存快照或手动执行 SAVE 或 BGSAVE 命令生成快照。RDB 适合用于备份、恢复数据、灾难恢复等场景。
- AOF(Append Only File):将所有写入操作追加到文件末尾,以此来记录数据的变化。AOF 文件的恢复比 RDB 更加可靠,但也会带来一定的性能损失。可以通过配置自动保存 AOF 文件或手动执行 BGREWRITEAOF 命令来重写 AOF 文件以减小文件大小。
Redis 还支持 AOF 和 RDB 混合使用,可以在 RDB 文件生成的同时在 AOF 文件中记录操作日志,以达到数据备份和恢复的目的。
阅读全文