微信登录

Redis数据库教程

2009年发布
250功能
版本7.2.4
使用费用:free
版权BSD 3-Clause
开发语言:C

环境配置

架构

  • x86
  • x64
  • arm64

支持系统

  • Linux
  • Windows
  • macOS
  • bsd

包类型

  • tar.gz
  • deb
  • rpm
  • zip
  • msi

是否重启生效

软件特点

  • 高性能
  • 内存数据库
  • 键值存储
  • 支持多种数据结构
  • 持久化
  • 分布式

详细信息

开发者:

Redis Labs

安装大小:

5MB

运行速度:

100000QPS

官网地址:

https://redis.io/

依赖包:

libssl-devlibjemalloc-devgcc

Windows安装路径:

C:\Program Files\Redis\Redis

Mac安装路径:

/usr/local/redis

Linux安装路径:

/usr/local/bin/redis

Windows配置文件路径:

C:\Program Files\Redis\redis.conf

Mac配置文件路径:

/usr/local/etc/redis.conf

Linux配置文件路径:

/etc/redis/redis.conf

输入速度:

1GB/s

输出速度:

900MB/s

GUI 软件名:

Redis Desktop ManagerAnother Redis Desktop ManagerRedis Insight

功能列表:

字符串操作 哈希表操作 列表操作 集合操作 有序集合操作 发布订阅 事务Lua 脚本

必会要点

1掌握 Redis 核心数据结构(字符串、哈希、列表、集合、有序集合)
2熟悉 Redis 常用命令(SET/GET/HSET/LPUSH/SADD/ZADD 等)
3理解 Redis 持久化机制(RDB 和 AOF)
4掌握 Redis 过期键策略和内存淘汰机制
5熟悉 Redis 发布订阅模式的使用
6了解 Redis 事务和 Lua 脚本的应用
7掌握 Redis 主从复制和哨兵模式配置
8熟悉 Redis 集群(Cluster)的搭建与管理
9理解 Redis 缓存穿透、缓存击穿、缓存雪崩的解决方案
10掌握 Redis 连接池的配置与使用
11熟悉 Redis 数据备份与恢复方法
12了解 Redis 内存优化和性能调优技巧
13掌握 Redis 与主流编程语言(Java/Python/Go)的客户端使用
14熟悉 Redis 键的命名规范和最佳实践
15理解 Redis 管道(Pipeline)提升批量操作效率
16掌握 Redis 位图(Bitmap)和 HyperLogLog 的使用场景
17熟悉 Redis Geo 地理空间数据类型的应用
18了解 Redis Stream 消息队列的使用
19掌握 Redis 配置文件核心参数(maxmemory、timeout 等)调整
20理解 Redis 单线程模型及高性能原理

与其他语言对比

1. Redis 读写速度比 MySQL 快百倍
2. Redis 存储容量比 MySQL 小很多
3. Redis 比 MongoDB 更适合缓存场景
4. Redis 事务支持比 MongoDB 弱
5. Redis 比 PostgreSQL 内存占用更高
6. Redis 比 PostgreSQL 响应延迟更低
7. Redis 比 Oracle 部署更简单易上手
8. Redis 比 Oracle 不支持复杂 SQL 查询
9. Redis 比 SQLite 并发性能提升显著
10. Redis 比 SQLite 数据持久化能力弱
11. Redis 比 Cassandra 单节点性能更好
12. Redis 比 Cassandra 分布式扩展差
13. Redis 比 Elasticsearch 内存效率更高
14. Redis 比 Elasticsearch 检索功能弱
15. Redis 比 Memcached 支持更多数据结构
16. Redis 比 Memcached 部署复杂度更高
17. Redis 比 Kafka 数据存储时效性更强
18. Redis 比 Kafka 消息队列能力弱
19. Redis 比 RabbitMQ 数据读写更快
20. Redis 比 RabbitMQ 消息可靠性差

Redis(Remote Dictionary Server)是一个开源的内存型键值数据库,由Salvatore Sanfilippo于2009年发布。它以高性能、低延迟和支持丰富数据结构著称,广泛应用于实时数据处理场景。

核心特性:

  1. 内存存储:数据主要存储在内存中,读写速度可达微秒级,支持持久化(RDB快照/AOF日志)防止数据丢失。
  2. 数据结构丰富:除字符串外,支持哈希(Hash)、列表(List)、集合(Set)、有序集合(ZSet)、流(Stream)等,可直接实现复杂业务逻辑。
  3. 高可用性:通过Redis Sentinel实现故障转移,Redis Cluster支持横向扩展与自动分片。
  4. 原子操作:支持事务、Lua脚本和Pub/Sub消息机制,保障数据一致性。

典型应用:

  • 缓存:作为MySQL等磁盘数据库的前置缓存,降低延迟
  • 会话存储:存储用户登录态等临时数据
  • 排行榜/计数器:利用ZSet实现实时排序
  • 消息队列:通过Stream或List结构构建异步处理系统

局限:

内存成本较高,单线程模型在超大吞吐场景可能受限。适合需要快速响应的场景,常作为传统关系型数据库的补充使用。开发者可通过redis-cli或多种语言客户端(如Python的redis-py)进行操作。