redis

高性能内存数据库,搞定缓存、队列和实时查询

开源 基础设施
访问官网 ↗ GitHub ↗ 文档 ↗
GitHub 星标 ★ 76793
维护状态 活跃
是否开源 是
定价模式

项目预览

项目数据

分类基础设施
开发团队redis
所属国家
官网地址http://redis.io
定价模式
价格说明
访问状态
是否开源是
开源协议NOASSERTION
主要语言C
技术栈/模型cache,caching,database,distributed-systems,in-memory,in-memory-database,json,key-value,key-value-store,message-broker,message-queue,no-sql,nosql,open-source,real-time,realtime,redis,time-series,vector-databases,vector-search
GitHub 星标★ 76793
30天Star增速
HF 下载量
上线时间2009-03-21 00:00:00
代码更新—
仓库体积—
本站数据更新—
维护状态活跃
中文支持
访问方式
移动端支持
综合评分
收录时间2026-08-29
浏览次数5

项目介绍

Redis 是一个开源的内存数据结构存储系统,常被用作数据库、缓存和消息代理。它支持字符串、哈希、列表、集合、有序集合等多种数据结构,并提供丰富的数据操作命令。Redis 以其极高的性能和低延迟著称,能够处理每秒数十万次的读写操作。它解决了传统数据库在高并发场景下的性能瓶颈问题,通过将数据存储在内存中实现快速访问,同时支持持久化、主从复制、哨兵和集群模式,保证数据的高可用性和可扩展性。Redis 还内置了 Lua 脚本、事务、发布订阅、地理空间索引、流、模块系统等高级功能,并支持 JSON、向量查询等现代数据模型,适用于实时分析、会话存储、排行榜、消息队列等广泛场景。

Star 增长趋势

本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整

正在加载星标数据…

技术标签

使用教程

—

难度:入门 约 10 分钟 部署方式:Docker 7 步

环境要求

  • 已安装 Docker(使用官方镜像快速启动)
  • 6379 端口可用(容器映射到宿主机)
  • 从源码构建需 GCC/Clang、LLVM 21、CMake 3.25–3.31.6、Rust 1.94、OpenSSL、Python 3 及各类 -dev 库
  • 要完整构建含 JSON、时序、Bloom 等模块时需上述版本敏感依赖

安装与启动步骤

  1. 1用 Docker 快速启动

    拉取官方 Redis 镜像并在后台运行,把容器 6379 端口映射到宿主机 6379,无需本地编译。

    docker run -d -p 6379:6379 redis:latest
  2. 2安装构建依赖

    在干净机器或临时容器中执行,bootstrap 会自动识别系统并安装核心及所有模块的前置依赖。

    make bootstrap
  3. 3查看缺失依赖

    只列出当前缺失的依赖清单而不安装;想拿到可直接粘贴的安装命令改用 dry-run。

    make bootstrap list
    make bootstrap dry-run
  4. 4编译 Redis

    在源码目录执行并行编译;需要 TLS 支持时先导出 BUILD_TLS=yes(需 OpenSSL 开发库)。

    export BUILD_TLS=yes
    make -j "$(nproc)"
  5. 5安装到系统

    安装核心二进制、模块 .so 并改写配置里的 loadmodule 路径;也可 sudo make install 装到默认 /usr/local。

    sudo make install PREFIX=/usr/local
  6. 6构建 Docker 构建环境

    仓库自带 Ubuntu 24.04 的 Dockerfile,把所有前置依赖打包进镜像,避免污染主机工具链。

    docker build -f docker/Dockerfile.noble -t redis-build:noble .
    docker buildx build --platform linux/amd64,linux/arm64 -f docker/Dockerfile.noble -t redis-build:noble .
  7. 7容器内编译运行

    把工作目录挂载进构建镜像,在容器内并行编译并直接运行,主机无需安装任何依赖。

    docker run --rm -it -v "$PWD":/workspace -w /workspace redis-build:noble bash -lc 'make -j"$(nproc)" && make run'

关键配置

配置项必填说明示例
BUILD_TLS否编译时开启 TLS 支持,需要 OpenSSL 开发库yes
BUILD_INTEL_SVS_OPT否编译 Intel SVS-VAMANA 的 LeanVec/LVQ 优化(闭源,授权有约束)yes
PREFIX否make install 的安装前缀目录/usr/local
SKIP_BUILD否仅安装不重新编译,已构建过时使用1
DESTDIR否把文件暂存到指定路径用于打包,不改写配置中的路径/tmp/redis-pkg
PROG_SUFFIX否为安装的程序名加后缀,便于多版本共存-alt

如何确认成功

docker ps 能看到运行中的 redis 容器且映射了 6379 端口;宿主机用 redis-cli 连接后执行命令有正常返回。

常见问题

Q:构建时报 CMake 版本不兼容怎么办?

A:模块要求 3.25 ≤ CMake ≤ 3.31.6,不支持 4.x。可执行 pip3 install 'cmake==3.31.6' 固定版本;注意 make bootstrap 不会自动降级已装的 4.x。

Q:make bootstrap 会改动我现有的开发环境吗?

A:会。它会安装系统包并可能覆盖已有的编译器、CMake、LLVM 等版本。建议在一次性容器里执行,或改用仓库自带 Docker 构建镜像。

Q:不想让 bootstrap 动主机,还有别的办法吗?

A:用 docker/Dockerfile.noble 在容器内构建;或参考 8.8 分支 README(github.com/redis/redis/tree/8.8#readme)中按操作系统手动罗列的依赖说明。

Q:只想先知道缺哪些依赖,不想直接安装?

A:执行 make bootstrap list 打印去重后的缺失清单;执行 make bootstrap dry-run 会按模块打印精确的安装命令但不实际安装,可迭代执行直到没有输出。

Q:如何启用 TLS?

A:编译前导出 BUILD_TLS=yes(需 OpenSSL 开发库),具体使用方式参见仓库中的 TLS.md。

注意事项

  • CMake 版本区间很关键:必须 3.25–3.31.6,4.x 会导致构建失败
  • make bootstrap 会安装系统包并可能覆盖已有工具版本,优先在一次性容器中运行
  • 若以 AGPLv3 或 SSPLv1 使用,不能同时启用 Intel 的 LeanVec/LVQ 优化,因其许可证不兼容
  • 官方 Docker 镜像提供 Alpine 与 Debian 两种版本,快速上手无需本地编译

核心亮点

  • 极高性能:纯内存操作,单线程模型避免锁竞争,读写延迟微秒级
  • 数据结构丰富:支持字符串、哈希、列表、集合、有序集合、流、地理空间等
  • 高可用与扩展:主从复制、哨兵监控、集群分片,支持水平扩展

不足之处

  • 内存成本高:数据驻留内存,大规模数据存储成本昂贵
  • 持久化能力相对弱:RDB/AOF 可能丢失部分数据,不适合强持久化需求

适用场景

  • 高并发缓存:减轻数据库压力,提升读性能
  • 实时排行榜/计数器:利用有序集合和原子操作
  • 消息队列:基于列表或流实现轻量级消息通信

替代项目

Memcached、Apache Ignite、Hazelcast

上一篇:server

下一篇:mongo

同类项目推荐

freebuff-proxy 开源

聚合多账号,一键接入 OpenAI 兼容 API,轻松管理会话。

[DEPRECATED / UNMAINTAINED] No longer maintained.

★ 300 2026-08-20
microduck 开源

用 Rust 造一只会走路的桌面小鸭,快速上手双足机器人。

A Tiny biped duck robot

★ 9366 2026-09-10
ollama 开源

一条命令本地跑起大模型,免费、私密、不卡顿

Get up and running with Kimi, GLM, MiniMax, DeepSeek, gpt-oss, Qwen, Gemma and other···

★ 183029 2026-08-09
soperator 开源

用 Kubernetes 原生方式运行 Slurm,简化 HPC 集群管理。

Run Slurm in Kubernetes

★ 444 2026-08-10