1. Redis 简介
Redis 是一个开源的、基于内存的键值对数据库,具有高性能、高可用性和高扩展性等特点。Redis 常用于缓存、消息队列、数据库等场景。
2. Redis 数据类型
Redis 支持多种数据类型,包括:
字符串:用于存储简单的字符串数据。
列表:用于存储有序的字符串数据。
集合:用于存储无序的字符串数据。
散列:用于存储键值对数据。
有序集合:用于存储有序的键值对数据。
3. Redis 持久化
Redis 支持两种持久化方式,分别是 RDB 和 AOF。
RDB:RDB 是将数据快照持久化到磁盘。
AOF:AOF 是将所有写操作记录到日志文件。
4. Redis 复制
Redis 支持主从复制,可以提高数据的可用性和一致性。
主从复制:主从复制是指将一个 Redis 实例的数据复制到其他 Redis 实例。
5. Redis 哨兵
Redis 哨兵可以实现主从自动切换,提高系统的可靠性。
哨兵:哨兵是一个特殊的 Redis 实例,用于监控主从复制的运行状况。
6. Redis 集群
Redis 可以通过集群技术来扩展其容量。
集群:Redis 集群是指多个 Redis 实例组成的一个分布式系统。
7. Redis 常见问题
Redis 和 Memcached 的区别:Redis 和 Memcached 都是内存数据库,但 Redis 支持的数据类型更丰富,功能也更强大。
Redis 的性能为什么这么高:Redis 采用单线程模型,并使用了多路复用技术,因此性能非常高。
Redis 的持久化机制有哪些:Redis 支持 RDB 和 AOF 两种持久化机制,RDB 是将数据快照持久化到磁盘,而 AOF 是将所有写操作记录到日志文件。
Redis 的主从复制机制有哪些:Redis 支持异步复制和半同步复制两种主从复制机制,异步复制的性能更高,但数据一致性较弱,而半同步复制的性能较低,但数据一致性较强。
Redis 的哨兵模式是什么:Redis 哨兵模式
事务:Redis 支持事务,可以保证多个操作的原子性。
Lua 脚本:Redis 支持 Lua 脚本,可以执行复杂的业务逻辑。
Pub/Sub:Redis 支持 Pub/Sub,可以实现消息队列功能。
Bloom filter:Redis 支持 Bloom filter,可以用于判断一个元素是否存在集合中。