MySQL
来源:Node.js
Redis
Redis(Remote Dictionary Server)是一个开源的内存数据结构存储系统
它提供了一个高效的键值存储解决方案,并支持多种数据结构,如字符串(Strings)、哈希(Hashes)、列表(Lists)、集合(Sets)和有序集合(Sorted Sets)等
它被广泛应用于缓存、消息队列、实时统计等场景
Redis特性
- 内存存储
- Redis主要将数据存储在内存中,因此具有快速的读写性能
- 也可以持久化数据到磁盘,以便在重新启动后恢复数据
- 多种数据结构
- Redis是但不仅仅是简单的键值存储
- 支持多种数据结构,如字符串、哈希、列表、集合和有序集合
- 发布/订阅
- 支持发布/订阅模式,允许多个客户端订阅一个或多个频道,以接收实时发布的消息
- 这使得Redis可以用作实时消息系统
- 事务支持
- 可以将多个命令打包成一个原子操作执行,确保这些命令要么全部执行成功,要么全部失败
- 持久化
- 提供了RDB(Redis Database)和AOF(Append Only File)两种持久化数据的方式
- RDB:将数据以快照形式保存到磁盘;AOF:将每个写操作追加到文件中
- 这些机制可以确保数据在意外宕机或重启后的持久性
- 提供了RDB(Redis Database)和AOF(Append Only File)两种持久化数据的方式
- 高可用性
- 支持主从复制和Sentinel哨兵机制
- 主从复制:创建多个Redis实例的副本,以提高读取性能和容错能力
- Sentinel:一个用于监控和自动故障转移的系统,可以在主节点宕机时自动将从节点提升为主节点
- 缓存
- 由于Redis具有快速的读写性能和灵活的数据结构,它被广泛用作缓存层
- 可以将常用的数据存储在内存中,以加快数据访问速度,减轻后端数据库的负载
- 实时统计
- Redis的计数器和有序集合等数据结构使其非常适合实时统计场景
- 它可以存储和更新计数器,并对有序集合进行排名和范围查询,能用于统计、排行榜等功能
评论