目录
1. Redis 介绍
Redis(Remote Dictionary Server)是一个开源的、基于内存的数据结构存储系统,它支持多种数据结构,如字符串(String)、列表(List)、集合(Set)、有序集合(Sorted Set)、散列(Hash)等。Redis不仅可以用作数据库、缓存和消息代理,还可以通过复制、持久化、高可用性和分区提供强大的数据保障。
Redis以其极高的性能而著称,能够支持每秒数十万次的读写操作。这使得Redis成为处理高并发请求的理想选择,尤其是在需要快速响应的场景中,如缓存、会话管理、排行榜等。
1.1. Redis 的主要特点
- 高性能:Redis 数据存储在内存中,因此能够提供极快的读写操作。它采用单线程模型和异步 I/O,避免了多线程的竞争和阻塞,从而达到了非常高的性能。
- 丰富的数据结构:Redis 支持多种数据结构,包括字符串(String)、哈希(Hash)、列表(List)、集合(Set)和有序集合(Sorted Set)。这些数据结构提供了丰富的操作命令,使得开发者可以方便地处理各种数据需求。
- 持久化支持:Redis 提供了两种持久化方式,即快照(Snapshotting)和日志追加(Append-only file,AOF)。快照方式将 Redis 内存数据以二进制格式写入磁盘,而 AOF 则通过追加记录 Redis 的操作命令来实现持久化。
- 发布/订阅:Redis 支持发布/订阅模式,可以用作消息代理。发布者将消息发送到指定的频道,订阅者则可以接收和处理这些消息。这种模式在构建实时通信、事件驱动系统和消息队列等场景中非常有用。
- 分布式缓存:Redis可以通过主从复制和分片来实现数据的分布式存储和高可用性。主从复制可以将数据复制到多个从节点,实现读写分离和数据备份。而分片则可以将数据分布在多个Redis节点上,实现横向扩展和负载均衡。
- 事务支持:Redis 支持事务,开发者可以将多个操作组合成一个原子性的操作序列,保证这些操作要么全部执行成功,要么全部不执行。
1.2. Redis 的应用场景
Redis 被广泛应用于各种场景,包括但不限于:
- 缓存系统
- 会话存储
- 排行榜
- 实时分析
- 地理空间数据索引
- 消息队列
- 实时聊天
总之,Redis 是一个功能丰富的存储系统,适用于多种场景,并且拥有活跃的社区支持。它的高性能、灵活的数据结构和丰富的功能,使其成为开发者的理想选择。
2. Redis 安装
- macbook 安装redis
# redis 下载
brew install redis
# 启动 redis
redis-server
# redis-cli 连接 redis 服务
redis-cli -h 127.0.0.1 -p 6379