Redis基础与核心概念
简介与特性
Redis(Remote Dictionary Server)是一个开源的、基于内存的数据结构存储系统,它可以用作数据库、缓存和消息中间件。作为NoSQL数据库的一员,Redis不使用传统的表结构来组织数据,而是支持多种数据结构类型如字符串(Strings)、哈希(Hashes)、列表(Lists)、集合(Sets)、有序集合(Sorted Sets)等,并且提供了丰富的操作命令。Redis的设计目标是提供快速的读写速度,它通过将数据保存在内存中实现了这一点,同时提供了持久化功能以保证数据的安全性。
Redis的核心特性:
- 高性能:由于数据主要存储在内存中,Redis可以实现非常快的读写速度,这对于需要高吞吐量的应用来说非常重要。
- 内存存储:Redis默认将所有数据保存在内存中,这极大地提高了数据访问的速度。当然,也可以配置Redis仅将部分热点数据放在内存中。
- 持久化:尽管Redis主要是内存型数据库,但它也支持数据的持久化,可以通过RDB快照和AOF日志两种方式来保证数据的持久性。
- 多数据结构:Redis支持多种数据结构,包括字符串、哈希、列表、集合、有序集合等,每种数据结构都有对应的丰富操作命令,能够满足不同的业务需求。
适用场景:
- 缓存:利用其高速读写的特点,Redis常被用作应用层与数据库之间的缓存层,减少对后端数据库的压力,提高响应速度。
- 消息队列:Redis提供的列表(List)数据结构非常适合用来实现简单的消息队列服务。
- 排行榜:借助于有序集合(Sorted Set),Redis可以很方便地实现实时更新的排行榜功能。
- 会话存储:Web应用中用户的会话信息可以存储在Redis中,以便于分布式架构下跨服务器共享用户状态。
不适用场景:
对于那些需要复杂查询、事务处理或严格的数据一致性要求较高的应用场景,Redis可能不是最佳选择。例如,执行复杂的联表查询、需要ACID事务支持的金融交易系统等。此外,如果应用对数据存储成本极为敏感,考虑到Redis主要依赖内存存储,其相对较高的存储成本也可能成为一个限制因素。
安装与配置
- Redis 的安装(Linux、Windows、Docker)
- 配置文件解析(redis.conf 核心参数)
- 基本命令与客户端工具(redis-cli、可视化工具)
Windows
由于Redis官方未正式支持Windows系统,但第三方维护了一个Windows移植版本。本教程基于 Redis 5.0.14 for Windows 版本,适用于开发/测试环境。
- 下载Redis安装包
访问Windows版的Redis GitHub仓库:找到 Redis-x64-5.0.14.1.msi(或更高版本)并下载。
- 安装Redis
运行安装程序
双击下载的 .msi 文件,启动安装向导。同意许可协议
勾选 "I accept the terms in the License Agreement",点击 Next。选择安装路径
默认路径为 C:\Program Files\Redis,可自定义路径(建议无空格路径,如 D:\Redis)。设置环境变量
勾选 Add the Redis installation folder to the PATH environment variable,将Redis添加到系统环境变量。端口与防火墙配置- 默认端口 6379(保持默认即可)
- 勾选 Add an exception to the Windows Firewall
按需选择,开发环境可不勾选。
勾选后允许外部客户端通过TCP/IP协议与运行在本地计算机上的Redis服务器通信。具体来说,当你选择这个选项时,安装程序会在Windows防火墙中创建一个规则,允许流量通过Redis配置文件中设定的端口(默认是6379),这样外部的其他设备或应用程序就能连接到你的Redis实例了。
最大内存限制
默认不限制内存,直接点击 Next。完成安装
点击 Install 开始安装,完成后点击 Finish。
- 验证安装
启动Redis服务- 方式一:通过服务管理器启动
按下 Win + R,输入以下命令,找到 Redis 服务并启动。shellservices.msc - 方式二:命令行启动
按下 Win + R,输入 cmd 打开命令提示符,输入:以下命令启动 Redis 服务。shell// 先按下 Win + R cmdshellredis-server - 方式三:exe双击启动
双击 redis-server.exe 文件启动 Redis 服务。
- 方式一:通过服务管理器启动
测试Redis连接- 新开一个命令提示符窗口,输入:redis-cli, 或直接双击 redis-cli.exe
- 执行以下命令测试,若返回 PONG 表示安装成功。shell
127.0.0.1:6379> ping
- 配置Redis(可选)
- 修改配置文件 配置文件位于安装目录下的 redis.windows-service.conf(服务模式)或 redis.windows.conf(非服务模式)。
配置项 描述 bind 127.0.0.1绑定IP(默认仅本地访问) port 6379监听端口 requirepass yourpassword设置密码(请替换yourpassword为实际密码) maxmemory 256mb最大内存限制 - 修改配置文件后,通过重启Redis服务生效。
- 修改配置文件 配置文件位于安装目录下的 redis.windows-service.conf(服务模式)或 redis.windows.conf(非服务模式)。
- 基本使用命令
redis-server --service-startredis-server --service-stopredis-server --service-uninstall- 注意事项
- 生产环境建议
Windows版Redis仅建议用于开发测试。
生产环境推荐使用Linux系统或通过WSL2运行Redis。 - 性能优化
Windows版Redis性能可能低于Linux版本。
如需高性能场景,建议使用Docker或虚拟机部署Linux环境。 - 数据持久化
默认启用RDB快照,数据保存在 dump.rdb 文件中(路径见配置文件)。
- 生产环境建议
通过以上步骤,您已成功在Windows系统上安装并配置了Redis。如有问题,可检查日志文件(默认位于安装目录下的 Logs 文件夹)。
Linux
安装 gcc 环境 Redis是由C语言编写的,它的运行需要C环境,因此需要先安装gcc
shell# 如果检查有对应的版本,即gcc已经安装,则可跳过安装gcc此步骤 gcc --versionshell# 安装gcc yum install gcc
TIP
如果检查有对应的版本,即gcc已经安装,则可跳过安装gcc此步骤
下载安装 redis
shell# 安装应养成良好习惯 文件归类 mkdir -p /opt/software/redis # 进入redis文件夹,使用wget下载 cd /opt/software/redis wget https://download.redis.io/redis-stable.tar.gz # 解压下载的redis包 tar -zxvf redis-stable.tar.gz # 进入 redis-stable 目录,然后使用 make install 编译并安装 # 安装完后 /usr/local/bin 会生成相应的服务 cd redis-stable make install # 检查是否生成成功 ll /usr/local/bin
文件名 描述 redis-benchmark性能测试工具,用于模拟N个客户端同时发送M个请求来测试Redis服务器性能。 redis-check-aof用于修复有问题的AOF(Append Only File)文件,确保数据恢复时的一致性和完整性。 redis-check-rdb用于检查和修复RDB(Redis Database Backup)文件中的错误。 redis-sentinelRedis高可用性解决方案Sentinel系统使用的命令,用于监控和故障转移管理。 redis-serverRedis服务器启动命令,用于启动Redis实例,可以指定配置文件等参数。 redis-cliRedis客户端操作入口,提供命令行接口与Redis服务器进行交互,执行各种操作命令。 启动redis
到这里其实我们可以使用 /opt/software/redis/redis-stable/src 目录下的 redis-server 或 /usr/local/bin 目录下的 redis-server 启动服务了- 方式一 通过 /opt/software/redis/redis-stable/src 目录下的 redis-server 启动服务shell
cd /opt/software/redis/redis-stablee/src redis-server
- 方式二 通过 /usr/local/bin 目录下的 redis-server 启动服务shell
cd /usr/local/bin redis-server
- 方式一 通过 /opt/software/redis/redis-stable/src 目录下的 redis-server 启动服务
配置Redis
前⾯的启动⽅式⽆法再后台运⾏,退出之后直接关闭了 Redis 服务,所以我们还需要针对 Redis 做⼀些设置。shell# 修改当前 redis 目录下的 redis.conf 文件 # 如果使用 vim 后没有显示行号, 可以在打开 vim 后输入 ': set number' # 进入编辑模式(先按 esc,再按 i 进入编辑模式),修改 redis.conf 文件 # 非编辑模式下(按esc进入非编辑模式)输入 ':行号' 可直接跳转到指定行,比如 :20 直接跳转到 20 行 # 编辑完成后退出 vim (按 esc, 再按 ':wq' 退出编辑模式) vim redis.confshell# 88行,修改 bind 项,* -::* 支持远程连接 bind * -::* # 309行,开启守护进程,后台运行 daemonize yes # 357行,指定日志文件目录 logfile /opt/software/redis/redis-stable/redis.log # 514行,指定工作目录 dir /opt/software/redis # 1048行,给默认用户设置密码,主要是使用 redis-cli 连接 redis-server 时,需要通过密码校验。 也可不设置 requirepass 1qaz@WSX # 111行, 允许远程连接 如果不设置密码必须将此设置关闭 protected-mode no重启redis
修改完成后,使用配置文件启动 redis,并使用 redis-cli 连接测试,需要注意由于之前配置了安全密码,所以连接后需要先验证密码,否则会报错。shellcd /opt/software/redis/redis-stable ./src/redis-server redis.conf redis-cli auth 1qaz@WSX
退出redis
shellcd /opt/software/redis/redis-stable ./src/redis-server redis.conf redis-cli auth 1qaz@WSX # exit 也可以 quit
关闭redis
shellcd /opt/software/redis/redis-stable ./src/redis-server redis.conf redis-cli auth 1qaz@WSX shutdown

