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 为例,流程只有三步:
- 找应用:应用商店列表按分类浏览,或右上角搜索框直接搜名字;
- 填参数:点【安装】进入详情页,填写数据库名、端口等参数;
- 高级设置:是否暴露外部端口、资源限制、甚至可以直接编辑 compose 文件,然后【确认】。
确认后会弹出安装日志界面,等它跑完就行。
高级设置里的几个关键项:
| 设置 | 怎么选 |
|---|---|
| 暴露外部端口 | 只在需要从公网访问时开(比如 Halo、phpMyAdmin);只给本机其他容器用的(如 MySQL)别开 |
| 资源限制 | 小服务器建议限制内存上限,防止某个应用吃光内存把全机拖垮 |
| 编辑 compose | 高级用户可改挂载、环境变量;改之前看懂每一行 |
应用的生命周期管理
进入应用商店 → 已安装,每个应用都能做这些事:
| 操作 | 说明 | 使用时机 |
|---|---|---|
| 同步 | 更新应用状态,和系统实际状态对齐 | 应用实际在跑但面板显示异常时 |
| 重建 | 删除容器重新创建(保留持久化数据) | 容器卡死、配置改了不生效 |
| 启动/停止/重启 | 常规操作 | 日常维护 |
| 卸载 | 删除容器、配置文件等所有相关资源 | 确定不再用 |
| 备份/恢复 | 进入备份列表,一键备份或选记录恢复 | 升级前、调整前 |
| 参数 → 编辑 | 修改应用参数和高级设置 | 需要改配置时 |
重建是个容易被忽略的好功能。很多人遇到应用「莫名其妙抽风」就卸载重装,其实【重建】就够了——它只重新创建容器,挂载了存储卷的数据都会保留。注意:如果你直接进容器手动改过文件(没通过挂载),那些改动会在重建时被重置。
卸载的两个选项:
- 强制删除:忽略删除过程中的错误,最终删掉元数据——常规卸载卡住时用;
- 删除备份:把该应用的本地备份一起删掉——勾之前想清楚,删了就没了。
应用升级
「可升级」页面列出所有支持升级的应用:
- 点应用卡片的【升级】,选择目标版本;
- 建议勾选升级前备份——升级失败时可以回滚;
- 可选自动拉取最新镜像、修改 compose.yml;
- 【确认】后等升级完成。
不想升级某个应用?点【忽略升级】,它就不再出现在提示里。后悔了去列表上方的「查看忽略应用」里取消忽略即可。
应用商店设置
入口是 应用商店 → 设置:
| 默认操作 | 说明 |
|---|---|
| 卸载时删除备份 | 卸载时默认清掉本地备份 |
| 卸载时删除镜像 | 卸载时清理对应镜像(被其他容器使用的可能删不掉) |
| 升级前备份 | 升级前默认创建备份,用于失败回滚 |
| 升级后删除旧镜像 | 升级完清理旧版本镜像 |
| 安装时放行端口 | 安装时默认在主机防火墙放行外部端口 |
这些是「默认值」,每次具体操作前还是会让你确认一遍。建议把「升级前备份」打开,这是最值钱的一个开关。
版本差异:自定义应用仓库配置需要专业版或企业版许可证,社区版用官方应用商店即可。
常见问答
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 容器到底怎么看——容器、镜像、编排一次讲清。
