华为云国际站后付费 华为云配置Redis缓存

华为云国际 / 2026-04-17 15:35:30

下载.png

大家好,今天咱们不聊5G也不扯鸿蒙,来干一件特别接地气的事儿——在华为云上配Redis缓存。

别紧张,这不是《量子力学入门》,也不是《分布式系统高阶研修班》。这是一篇写给刚把项目从本地Tomcat拖到云上的你、写给被运维大哥白眼扫过三次的后端同学、写给对着控制台界面发呆三分钟却不敢点‘确定’的实习生——一篇能让你边喝咖啡边配完Redis的实操指南。

先说结论:华为云Redis,真不难。难的是——你点错了那个叫‘SSL加密’的开关,结果连不上还死活找不到原因;难的是——你在安全组里只开了6379,忘了Redis默认用的是6380(集群版);更难的是——你复制了控制台生成的连接地址,粘贴进代码时顺手删掉了末尾的?ssl=true……然后默默怀疑人生。

所以,咱们今天就按「人话流程」走一遍,不跳步、不省略、不甩术语包袱。

第一步:买一个Redis,但别买错

登录华为云控制台 → 搜索「分布式缓存服务 DCS」→ 进入产品页。注意!别搜「Redis」,华为云管它叫DCS(Distributed Cache Service),这是它的学名,不是小名,更不是花名。

点击「创建缓存实例」,弹出表单。关键选项有三个:

  • 引擎类型:选「Redis」,别手滑选成Memcached(虽然它也姓缓存,但不认SETNX,也不懂Lua脚本,就像买了个电饭锅想煎牛排);
  • 版本:推荐「6.2.6」或「7.0.12」,别选4.x(太老,连ACL都没有,权限管理靠玄学);
  • 实例类型:新手闭眼选「单机」(便宜、够用、出问题好排查)。等你哪天发现QPS飙到3000+、老板问「为啥首页卡顿」,再升级「主备」或「集群」——那会儿你已经能自己写故障复盘PPT了。

规格?起步选「2GB内存/1vCPU」,够撑起一个中型后台系统的缓存压力。别贪大,也别抠门——内存不够,Redis天天LRU踢数据,你的用户会发现「刚加购物车的商品,一刷新就没了」。

第二步:网络,是Redis的命门

创建实例时,华为云会强制你选「虚拟私有云(VPC)」和「子网」。这里划重点:必须和你的业务服务器在同一个VPC下

举个栗子:你有个ECS云服务器部署在「华北-北京四」的VPC-A里,那你Redis也得建在VPC-A里。跨VPC?可以,但得配对等连接、配路由表、配NAT……建议先去泡杯枸杞茶冷静十分钟,再考虑这事。

接着是安全组。很多人以为开个6379端口就完事了——错!Redis集群版默认用6380,哨兵模式可能用26379,而华为云默认开启SSL时,实际走的是6380 + SSL封装。所以最稳妥的做法是:

  • 华为云国际站后付费 在安全组入方向,添加一条规则:协议TCP,端口范围6379/6380,源地址填你ECS的内网IP或整个子网段(比如192.168.0.0/16);
  • 如果勾选了「启用SSL加密」(控制台默认勾),那务必确认你的客户端支持SSL——Spring Boot 2.6+原生支持,老版本得手动加Bouncy Castle依赖;
  • 千万别在生产环境把源地址设成0.0.0.0/0!这不是开放世界,这是开门揖盗。

第三步:连一下,看看它喘气不

实例状态变成「运行中」后,进实例详情页,抄下「内网地址」(形如redis://:[email protected]:6379)。

别急着扔进代码!先用redis-cli本地连一把:

# 如果没装redis-cli?快去官网下,比点外卖还快
redis-cli -h 192.168.x.x -p 6379 -a '你的密码' PING

返回PONG?恭喜,心跳正常。返回NOAUTH Authentication required?密码错了;返回Connection refused?八成是安全组或VPC没对上;返回IOERR error且带SSL字样?关掉SSL重试,或换redis-cli --tls参数(Redis 6.2+才支持)。

第四步:Spring Boot接入,三步封神

假设你用的是Spring Boot 2.7+(JDK17,Maven),pom.xml加一行:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>

application.yml这么写(注意:密码里如果有/@:等特殊字符,要URL编码!比如p@ss/w0rd得写成p%40ss%2Fw0rd):

spring:
  redis:
    host: 192.168.x.x
    port: 6379
    password: p%40ss%2Fw0rd
    database: 0
    timeout: 2000
    lettuce:
      pool:
        max-active: 20
        max-idle: 10
        min-idle: 0

写个测试接口验证:

@RestController
public class RedisTestController {
    @Autowired private StringRedisTemplate redisTemplate;
    
    @GetMapping("/redis/test")
    public String test() {
        redisTemplate.opsForValue().set("hello", "华为云真香");
        return redisTemplate.opsForValue().get("hello");
    }
}

curl一下,返回「华为云真香」——成了!此时你可以深呼吸,起身接杯水,顺便把刚才写的代码提交到Git,并备注:「已打通云Redis,可喜可贺,建议加鸡腿」。

最后,几个血泪经验送你

  • 别在控制台改密码后立刻重启应用——Redis改密不中断服务,但你的应用连接池里还攥着旧密码,得主动redisTemplate.getConnectionFactory().destroy()或重启;
  • 集群版不支持KEYS *,执行直接报错。要用SCAN代替,不然运维半夜会被告警电话吵醒;
  • 监控看「内存使用率」和「连接数」就够了,别盯着「命中率」焦虑——缓存本来就是「用不着就不存」,低命中率有时恰恰说明你没乱塞冷数据;
  • 备份策略选「自动备份」+「保留7天」,花不了几毛钱,但某天误删FLUSHDB时,你会跪谢自己。

好了,这篇「华为云Redis配置实录」就到这里。没有高深理论,没有架构图谱,只有你鼠标点下去、键盘敲出来、服务跑起来的真实路径。

下次再有人问「云上Redis咋配」,你可以淡定回一句:「哦,那个啊——先买,再联网,然后连一下,最后塞进Spring Boot。跟煮泡面差不多,只是调料包得自己拆。」

祝你缓存常驻,永不击穿,连接稳定,工资翻番。

Telegram售前客服
客服ID
@cloudcup
联系
Telegram售后客服
客服ID
@yanhuacloud
联系