为啥是Redis?它跟咱数据库啥关系?
想象一下,你天天查的数据库(比如MySQL)就像个老黄牛,吭哧吭哧犁地(处理请求)虽然稳当,但速度嘛... 尤其是遇到大家伙(高并发查询)或者重复劳动(频繁读相同数据),老黄牛也得喘粗气。
这时候,Redis闪亮登场!它就是个闪电侠⚡,专门干一件事:把那些经常要查的、不怎么变的数据,暂时存放在超快的内存(RAM)里。下次再要查?直接从内存里“嗖”一下拿出来,比去翻老黄牛的笔记本(磁盘)快N倍!这就是缓存——数据库的“加速外挂”。
准备开搞!你需要啥?
方法一:直接给Redis在AlmaLinux上安家(原生安装)
适合就想简单试试,或者对Docker还不太熟的老铁。
步骤1:请Redis进门 (安装)打开你的终端,连上AlmaLinux。咱用官方仓库,稳!
sudo dnf update -y# 先更新下系统软件包,好习惯
sudo dnf install epel-release -y# 启用EPEL仓库,宝藏多多
sudo dnf install redis -y# 安装Redis服务!
步骤2:给Redis上把锁 (基础安全配置)Redis默认没密码?这可不行!编辑配置文件:
sudovi /etc/redis/redis.conf # 用vi或你喜欢的编辑器打开配置文件
找到 # requirepass foobared
这一行(大概在500多行)。去掉开头的 #
注释,把 foobared
换成你自己强壮的密码,比如 requirepass MySuperSecretPassword123!
千万记住这个密码!🔑 保存退出 (:wq
)。
步骤3:点火启动!(启动 & 开机自启)
sudo systemctl start redis # 启动Redis服务
sudo systemctl enable redis # 设置开机自动启动
sudo systemctl status redis # 检查下状态,看到"active (running)"就OK!
步骤4:试试身手 (命令行连接)直接用Redis自带的 redis-cli
工具连一下:
redis-cli # 如果Redis运行在本机默认端口(6379),直接连
127.0.0.1:6379> auth MySuperSecretPassword123!# 输入你设置的密码认证
OK # 看到OK表示认证成功!
127.0.0.1:6379>ping# 打个招呼
PONG # Redis回应PONG,通信正常!
127.0.0.1:6379>set itxianyu "hello world"# 存个键值对,键是"itxianyu",值是"hello world"
OK
127.0.0.1:6379> get itxianyu # 取出来看看
"hello world"# 成功取出!
127.0.0.1:6379>exit# 退出
方法二:用Docker给Redis安个集装箱小家 (更灵活推荐!)
Docker就像乐高,把Redis和它的环境打包成一个标准“集装箱”,想放哪运行就放哪,不污染宿主机环境,管理升级也方便。
前提:确保你的AlmaLinux上已经安装了Docker和Docker Compose。如果没有,搜一下“AlmaLinux 安装 Docker” 教程很多,这里不占篇幅。
步骤1:编写Docker Compose蓝图 (docker-compose.yml)在你喜欢的地方(比如 ~/redis-docker
)新建个文件 docker-compose.yml
,内容如下:
version:'3.8'# 指定Compose文件版本
services:
redis:# 定义服务名叫redis
image: redis:7.2-alpine # 使用官方redis镜像,7.2版本,轻量alpine版
container_name: my-redis-container # 给容器起个名,方便识别
restart: always # 总是重启,避免容器意外退出
ports:
-"6379:6379"# 左边宿主机端口:右边容器端口,把容器6379映射到宿主机6379
volumes:
- ./redis-data:/data # 把宿主机当前目录下的redis-data映射到容器/data,持久化数据!
command: redis-server --requirepass "MySuperSecretDockerPassword123!" # 启动命令,直接设置密码!
# 重要提示:生产环境密码别这么写文件里!建议用环境变量文件(secrets)或启动时传入,这里演示方便
逐行白话解释:
version
: 告诉Docker Compose用哪个版本的规则。services
: 定义要运行的服务列表。redis
: 服务名,叫啥都行。image
: 用哪个镜像?官方Redis,7.2-alpine
是版本和小巧的系统。container_name
: 给运行起来的容器起个名字,好管理。restart
: always 意味着容器挂了会自动重启,省心。ports
: - "6379:6379"
最关键!把容器内部Redis服务的6379端口,映射到 宿主机(你的AlmaLinux)的6379端口。这样,外面(比如DataGrip)才能通过宿主机的IP+6379访问到容器里的Redis!volumes
: - ./redis-data:/data
把宿主机当前目录下的 redis-data
文件夹,挂载到容器内的 /data
目录。Redis的数据默认存这里,这样即使容器删了,数据还在宿主机上!持久化必备!command
: 覆盖容器启动命令。我们直接加 --requirepass
参数设置密码(演示方便,生产环境注意安全!)。步骤2:启动Redis集装箱!在包含 docker-compose.yml
文件的目录下,运行:
docker compose up -d# -d 表示后台运行
步骤3:检查集装箱状态
dockerps# 查看运行中的容器,应该能看到my-redis-container
docker logs my-redis-container # 查看容器日志,看启动是否正常
不管用哪种方法安家,现在请出神器:DataGrip!
+
-> Data Source
-> Redis
。redis.conf
设的,Docker的在 command
设的)!localhost
或 127.0.0.1
)。6379
(默认端口)。AlmaLinux Redis
。在DataGrip里耍起来!
redis-cli
里一样直接输入命令!比如 ping
, get itxianyu
, keys *
(生产环境慎用keys *)。Redis安家成功!下一步干啥?
SET
/GET
, HSET
/HGET
, LPUSH
/LRANGE
, SADD
/SMEMBERS
, ZADD
/ZRANGE
等等。