4.2 Redis 与应用商店:一键装应用,且装得明白

一句话回答

Redis 是应用商店里最特殊的那个应用——它既是独立的服务,又在数据库菜单里管理。应用商店则是 1Panel 的「App Store」:搜索、安装、升级、备份、卸载一条龙。装应用不难,难的是装得明白:参数怎么填、端口开不开、升级前要不要备份。

Redis:缓存界的扛把子

先搞清楚 Redis 是什么

打个比方:MySQL 是仓库,Redis 是柜台。仓库什么都能存,但取一次要翻箱倒柜;柜台只放最常用的东西,伸手就来。网站把session、热门文章的缓存放到 Redis 里,访问速度能快一大截。

安装 Redis

和 MySQL 一样,Redis 不在数据库菜单里安装,而是去应用商店搜 Redis,点【安装】。装完后在 数据库 → Redis 里管理。

安装时可以自定义端口(默认 6379),密码默认随机生成——不要图省事设成 123456,Redis 历史上因为弱密码被挖矿木马扫穿的案例数都数不过来。

Redis 的日常管理

数据库 → Redis 页面提供了这些操作:

操作 位置 用途
修改密码 状态栏 重置访问密码,改完使用它的应用也要同步改
Redis Commander 状态栏 Web 图形化管理工具,装它在应用商店
配置修改 设置 编辑 redis.conf,改错会导致服务起不来
当前状态 设置 看内存分配、命中率,排查性能问题
性能调整 设置 表单方式调超时时间、最大连接数、最大内存
端口 设置 修改 Redis 服务端口
持久化 设置 配置 AOF / RDB 备份策略

一个典型的性能场景:网站变慢了,先看 Redis 的「当前状态」里的命中率。命中率高说明缓存在发挥作用,慢大概率是别的原因;命中率低说明缓存没命中,数据还在回源查 MySQL。

持久化:AOF 与 RDB 怎么选

Redis 跑在内存里,重启数据就没了,所以需要持久化把数据写回磁盘。官方给出了两种方式:

对比 RDB AOF
原理 定时把整个数据集快照存成一个文件 把每次写操作追加到日志文件
优点 体积小、恢复速度快、性能影响小 数据不容易丢,最多丢一秒
缺点 两次快照之间断电会丢数据 文件体积大,写入性能略慢
适合 纯缓存、丢点数据无所谓 session、队列等不能丢数据的场景

AOF 的同步频率有三个选项:

appendfsync 含义
always 每次写入都同步,最安全但最慢
everysec 每秒同步一次,官方推荐的折中方案
no 交给操作系统决定,性能最好但不可控

给个结论:大多数网站场景,RDB + AOF 同时开,AOF 设 everysec。磁盘占用多一点,换来的是「恢复时用 AOF 补齐 RDB 快照之间的数据」。

官方提醒:错误的配置会导致 Redis 服务不可用。如果改配置改得 Redis 起不来了,试试「恢复默认配置」再保存。配置文件在 /opt/1panel/apps/redis/[数据库名称]/conf/redis.conf。

应用商店:一切应用的起点

安装一个应用

以官方文档演示的 Halo 为例,流程只有三步:

  1. 找应用:应用商店列表按分类浏览,或右上角搜索框直接搜名字;
  2. 填参数:点【安装】进入详情页,填写数据库名、端口等参数;
  3. 高级设置:是否暴露外部端口、资源限制、甚至可以直接编辑 compose 文件,然后【确认】。

确认后会弹出安装日志界面,等它跑完就行。

高级设置里的几个关键项:

设置 怎么选
暴露外部端口 只在需要从公网访问时开(比如 Halo、phpMyAdmin);只给本机其他容器用的(如 MySQL)别开
资源限制 小服务器建议限制内存上限,防止某个应用吃光内存把全机拖垮
编辑 compose 高级用户可改挂载、环境变量;改之前看懂每一行

应用的生命周期管理

进入应用商店 → 已安装,每个应用都能做这些事:

操作 说明 使用时机
同步 更新应用状态,和系统实际状态对齐 应用实际在跑但面板显示异常时
重建 删除容器重新创建(保留持久化数据) 容器卡死、配置改了不生效
启动/停止/重启 常规操作 日常维护
卸载 删除容器、配置文件等所有相关资源 确定不再用
备份/恢复 进入备份列表,一键备份或选记录恢复 升级前、调整前
参数 → 编辑 修改应用参数和高级设置 需要改配置时

重建是个容易被忽略的好功能。很多人遇到应用「莫名其妙抽风」就卸载重装,其实【重建】就够了——它只重新创建容器,挂载了存储卷的数据都会保留。注意:如果你直接进容器手动改过文件(没通过挂载),那些改动会在重建时被重置。

卸载的两个选项:

  • 强制删除:忽略删除过程中的错误,最终删掉元数据——常规卸载卡住时用;
  • 删除备份:把该应用的本地备份一起删掉——勾之前想清楚,删了就没了。

应用升级

「可升级」页面列出所有支持升级的应用:

  1. 点应用卡片的【升级】,选择目标版本;
  2. 建议勾选升级前备份——升级失败时可以回滚;
  3. 可选自动拉取最新镜像、修改 compose.yml;
  4. 【确认】后等升级完成。

不想升级某个应用?点【忽略升级】,它就不再出现在提示里。后悔了去列表上方的「查看忽略应用」里取消忽略即可。

应用商店设置

入口是 应用商店 → 设置:

默认操作 说明
卸载时删除备份 卸载时默认清掉本地备份
卸载时删除镜像 卸载时清理对应镜像(被其他容器使用的可能删不掉)
升级前备份 升级前默认创建备份,用于失败回滚
升级后删除旧镜像 升级完清理旧版本镜像
安装时放行端口 安装时默认在主机防火墙放行外部端口

这些是「默认值」,每次具体操作前还是会让你确认一遍。建议把「升级前备份」打开,这是最值钱的一个开关。

版本差异:自定义应用仓库配置需要专业版或企业版许可证,社区版用官方应用商店即可。

常见问答

Q:Redis 装好了,网站怎么用上? A:两步:①网站代码里配置 Redis 的连接信息(地址、端口、密码,密码看应用安装时的参数);②如果网站也在容器里,地址填 Redis 容器名或 1panel-network 网络内的地址,不是 127.0.0.1。具体连接地址的获取思路见 4.1 节的【连接信息】。

Q:应用安装到一半卡住了? A:看安装日志界面(或日志审计 → 任务日志)。常见原因:镜像拉不下来(网络问题,可在容器概览页配置镜像加速地址)、磁盘满了、端口被占用。

Q:升级应用失败怎么办? A:升级失败时如果升级前备份过,从备份列表恢复即可。1Panel 自身的升级失败会自动回滚(见 5.4 节),应用升级要靠自己留的这份备份。

Q:应用商店里找不到想要的应用? A:三个办法:①用容器菜单自己用 Compose 部署(4.3 节);②专业版/企业版可配置自定义应用仓库;③去官方 GitHub 反馈需求。

Q:Redis 和 MySQL 的备份在哪统一管? A:应用商店已安装里的【备份】、数据库条目右侧的【备份】、计划任务里的「备份应用/数据库」——三个入口都能做,自动化推荐计划任务(5.1 节)。

本节要点

  • Redis 在应用商店安装、在数据库菜单管理,配置改错了有「恢复默认配置」兜底;
  • 持久化建议 RDB + AOF(everysec) 双保险,配置文件位于 /opt/1panel/apps/redis/[名称]/conf/redis.conf;
  • 应用商店的完整生命周期:安装 → 同步/重建 → 备份 → 升级 → 卸载;
  • 【重建】优先于卸载重装,持久化数据会保留;
  • 应用商店设置里建议打开升级前备份;社区版「安装时放行端口」要看实际需求勾选。

应用商店与数据库的官方说明,见《1Panel 官方文档:功能手册》中的「应用商店」「Redis」两节,应用的完整生命周期也有独立章节说明。

下一节:应用装多了,底层的 Docker 容器到底怎么看——容器、镜像、编排一次讲清。