Redis 是什么?它的用途是什么?
Redis 是一个开源的内存数据库,用于存储和检索数据,常用于缓存、消息传递和计数器等场景。
Redis 和传统关系型数据库之间的区别是什么?
Redis 是一个基于内存的数据库,而关系型数据库通常是基于硬盘的。
Redis 支持多种数据结构,例如字符串、列表、集合和哈希,并提供了针对这些数据结构的命令操作。
Redis 具有高性能和低延迟的特点,适合于读写频繁的场景。
Redis 支持的数据结构有哪些?
Redis 支持字符串、列表、集合、哈希、有序集合等数据结构。
Redis 中的字符串、列表、集合和哈希的区别是什么?
字符串是 Redis 的基本数据结构,可存储字符串、整数或浮点数。
列表是按照插入顺序排列的字符串元素集合。
集合是一组唯一的字符串元素的无序集合。
哈希是一个字符串字段和值的映射表。
Redis 的持久化机制是什么?有哪些方式可以实现持久化?
Redis 的持久化机制包括 RDB(Redis DataBase)和 AOF(Append Only File)。
RDB 会将数据库快照保存到硬盘上的一个二进制文件中,适合用于备份和恢复。
AOF 以日志的形式记录每个写操作,通过重放操作来恢复数据。
Redis 的过期键是如何处理的?
Redis 使用惰性删除和定期删除两种机制来处理过期键。
惰性删除是在获取过期键时才删除,可以节约内存空间。
定期删除是通过在设定的时间间隔内随机检查一部分过期键并删除。
Redis 的主从复制是如何工作的?
Redis 的主从复制通过将主节点的数据复制到从节点来实现数据的备份和读写分离。
主节点将变更操作发送给从节点,从节点接收并应用这些变更。
Redis 的哨兵模式是什么?它的作用是什么?
Redis 哨兵模式用于监控 Redis 实例的健康状态。
哨兵节点会监测主节点和从节点的状态,并在主节点宕机时自动切换为新的主节点。
Redis 支持的事务和原子性操作是什么?
Redis 支持事务操作,可以将多个命令打包在一个事务中执行。
Redis 的事务是原子性的,要么全部执行成功,要么全部回滚。
Redis 的订阅-发布模式是什么?如何实现?
Redis 的发布者(publisher)向一个或多个频道(channel)发布消息。
订阅者(subscriber)可以订阅一个或多个频道,接收发布者发送的消息。