十大 Redis 面试问题及答案(10)

以下是 Redis 面试问题和答案,可以帮助应届毕业生和有经验的应聘者获得理想的工作。

1)什么是Redis?

Redis 是一种高级键值数据存储和缓存。它也被称为数据结构服务器,因为键不仅包含字符串,还包含哈希、集合、列表和有序集。使用 Redis 的公司包括 StackOverflow、Twitter、Github 等。

免费 PDF 下载:Redis 缓存面试问题及答案


2)解释一下Redis的复制特性?

Redis 支持简单的主从复制。建立关系后,主服务器上的数据将传输到从服务器上。完成后,主服务器上的所有更改都将复制到从服务器上

3)Memcached 和 Redis 有什么区别?

Redis的 Memcached的
  • Redis 也可以缓存信息,但还具有持久性和复制等附加功能
  • Redis 不支持 LRU(最近最少使用)值驱逐功能
  • 在 Redis 中,你可以设置所有操作的超时时间,当内存已满时,它会查看三个随机键并删除最接近过期时间的键
  • Redis 不支持 CAS(Check and Set)。它对于维护缓存一致性很有用
  • Redis 具有更强大的数据结构;它可以处理字符串、二进制安全字符串、二进制安全字符串列表、排序列表等。
  • Redis 的最大密钥长度为 2GB
  • Redis 是单线程的
  •  Memcached只缓存信息。
  • Memcached 支持 LRU(最近最少使用)值驱逐功能
  • 在 Memcached 中,当内存溢出时,最近未使用的(LRU-最近最少使用的)将被删除
  • Memcached 支持 CAS(检查并设置)
  • 在 Memcached 中,您必须序列化对象或数组才能保存它们,而为了读取它们,您必须对它们进行反序列化。
  • Memcached 的最大长度为 250 字节
  • Memcached 是一个多线程

4)使用Redis有什么优点?

使用 Redis 的优点是
  • 它提供高速
  • 它支持服务器端锁定
  • 它有很多客户端库
  • 它具有命令级原子操作(tx操作)

5)Redis 的局限性是什么?

  • 它是单线程的
  • 对一致性哈希的客户端支持有限
  • 持久性开销很大
  • 尚未广泛部署
Redis 面试问题
Redis 面试问题

6)列出Redis的操作键?

Redis的操作键包括
  • TYPE 键
  • TTL 键
  • KEYS 模式
  • EXPIRE 关键秒数
  • EXPIREAT 密钥时间戳
  • EXISTS 键
  • DEL键

7)哪些 PHP 模块可以与 Redis 一起使用?

在 PHP 模块中,PRedis 比 Redid PHP 绑定或 Resident 更可取

8)Redis 是否兼具速度和耐用性?

不是,Redis 故意牺牲了耐用性来提高速度。在 Redis 中,如果发生系统故障或崩溃,Redis 会写入磁盘,但可能会落后并丢失未存储的数据。
Redis 缓存面试题
Redis 缓存面试题

9)如何提高 Redis 的持久性?

提高 Redis 的持久性 “仅附加文件” 可以通过使用磁盘上的 fsync 数据进行配置。
  • 每次将新命令添加到append log文件时都会进行fsync():很安全但是很慢
  • 每秒执行一次 Fysnc():速度很快,但如果系统出现故障,可能会丢失 1 秒的数据
  • 永远不要使用 fsync():这是一个不安全的方法,并且你的数据处于 运行系统

10)请提及使用 Redis 时需要注意哪些事项?

使用 Redis 时必须注意
  • 选择一致的方法来命名和添加前缀。管理命名空间
  • 创建一个关键前缀的“注册表”,将每个内部文档映射到“拥有”它们的应用程序
  • 对于您放入 Redis 基础架构的每个类:设计、实现和测试垃圾收集或数据迁移到档案存储的机制
  • 在对应用程序部署进行大量投入之前,设计、实现和测试分片库,并确保在每台服务器上保留一份“分片”的复制注册表
  • 将所有 K/V 存储和相关操作分离到你自己的库/API 或服务中
这些面试问题也会对你的口试有帮助
分享

2条评论

  1. 头像 基思·W。 说:

    问题 7 和 10 是重复的。也许其中一个问题可能是关于 Redis 的潜在用例。

    1. 错误已修复!感谢您告知我们

发表评论

您的电邮地址不会被公开。 必填项 *