腾讯云充值折扣 腾讯云配置Redis缓存

腾讯云国际 / 2026-04-17 14:31:59

下载.png

你有没有试过:在腾讯云买了个Redis,填完参数点创建,喜滋滋等着用,结果一连就报错——Connection refused?或者好不容易连上了,Java里一执行set就抛NOAUTH Authentication required?又或者,明明控制台显示“运行中”,telnet your-ip 6379却死活不通?别慌,这不是你手残,是腾讯云Redis的「温柔陷阱」刚对你眨了眨眼。

一、先搞清:你买的到底是个啥?

腾讯云Redis不是“装个软件就行”的玩意儿,它是个托管式云数据库服务。你不用管Linux内核、内存碎片、AOF重写,但得懂它默认不开公网、默认不放行端口、默认强制密码认证——这仨“默认”,就是90%新手栽跟头的地方。

二、控制台三步走:开实例 ≠ 能连上

腾讯云充值折扣 第一步:选对版本和架构
进入腾讯云控制台 → 云数据库 Redis → 创建实例。别急着点“立即购买”。重点看三项:

  • 引擎版本:生产环境闭眼选 Redis 6.2(兼容性好、ACL权限细、性能稳);别碰5.x以下,老古董,缺功能还爱掉线;
  • 架构类型:单节点?别!开发测试可忍,上线必须选 主从双节点(自动故障转移,挂一个不丢数据);
  • 网络类型:务必选 VPC私有网络,别选“基础网络”(已逐步下线,且跨地域互通麻烦)。

第二步:安全组,才是真正的“门禁系统”
很多同学以为填完VPC就完事了?错!腾讯云把“网络访问控制”拆成两层:VPC决定“能不能进小区”,安全组决定“能不能进你家门”

创建实例时,会默认关联一个安全组(比如default)。但这个默认组,几乎不放行任何入站端口。你得手动编辑它:

  1. 进“云服务器” → “安全组” → 找到你实例绑定的那个组;
  2. 点“入站规则” → “添加规则”;
  3. 协议类型选 TCP,端口范围填 6379,源IP填你自己的服务器IP(如192.168.1.100/32)或开发机公网IP(x.x.x.x/32),千万别填0.0.0.0/0(等于把Redis大门焊死在互联网上,等同于裸奔);
  4. 保存!

小剧场:我有个客户,连了三天连不上,最后发现安全组规则里端口写成了6378……他以为Redis默认是6378(其实是6379)。建议:打开控制台,点开你的Redis实例详情页,拉到最底下,“访问地址”栏右侧有个小问号图标,鼠标悬停,它会明明白白告诉你:“端口:6379”。

三、连之前,先确认三件事

别急着敲redis-cli,先做三道判断题:

  1. 你连的是内网还是公网?
    腾讯云Redis默认只分配内网地址(形如xxx-redis.tencentcloud.com:6379)。如果你的应用部署在腾讯云CVM上,用内网地址连,快、稳、免费;如果本地开发机连,必须开启“公网访问”(实例详情页 → “公网访问” → 开启 → 设置白名单IP),且注意:公网地址≠内网地址,别混用!
  2. 密码有没有带特殊字符?
    腾讯云生成的密码常含@/:。这些在URL里是保留字!比如密码是abc@123,直接写redis://:abc@123@ip:6379会解析错——中间那个@会被当成分隔符。正确解法:URL编码。把@换成%40/换成%2F,冒号换成%3A。工具?浏览器地址栏粘贴encodeURIComponent('abc@123')回车,秒出结果。
  3. 客户端是否启用SSL?
    腾讯云Redis默认不启用SSL(除非你特意勾选“SSL加密”)。所以Spring Boot里spring.redis.ssl=true必须删掉,否则连都连不进TCP三次握手环节。

四、实战:Spring Boot 3.x 正确接入姿势

以最新稳定版Spring Boot 3.2 + Lettuce为例(Jedis已逐步淘汰,Lettuce支持响应式、连接池更健壮):

spring:
  redis:
    host: xxx-redis-12345.redis.rds.tencentcloud.com
    port: 6379
    password: abc%40123  # 注意:这里已URL编码!
    database: 0
    lettuce:
      pool:
        max-active: 20
        max-idle: 10
        min-idle: 0
        max-wait: 1000ms

写个测试接口验证:

@RestController
public class RedisTestController {
    @Autowired private StringRedisTemplate redisTemplate;

    @GetMapping("/redis/test")
    public String test() {
        redisTemplate.opsForValue().set("hello", "腾讯云Redis真香");
        return redisTemplate.opsForValue().get("hello");
    }
}

启动,curl一下——如果返回腾讯云Redis真香,恭喜,你已突破新手结界。

五、那些年,我们踩过的坑

  • “Connection timed out”不是网络问题,是安全组没放行:telnet不通,第一反应不是换服务器,而是查安全组入站规则是否生效、是否绑对了实例;
  • “DENIED Redis is running in protected mode”?那是你在本地docker跑的Redis,不是腾讯云的:云Redis没有protected mode,此错误只出现在你误连了自己本机Docker里的Redis;
  • 控制台显示“运行中”,但redis-cli -h xxx -p 6379 -a pwd提示“NOAUTH”:说明密码错了,或未加-a参数。注意:Lettuce客户端不认requirepass指令,必须在配置里写死password
  • 高并发下连接池打满?:别急着调大max-active,先看监控里“连接数使用率”。腾讯云Redis连接数上限=实例规格×10(比如标准版2G实例,最大连接数20000)。超了会拒绝新连接,表现就是应用报“Cannot get Jedis connection”。

六、最后送你一句保命口诀

“一查地址,二看安全组,三验密码编码,四关SSL开关,五盯监控图表。”
腾讯云Redis配置,本质不是技术难题,而是习惯问题。每次连不上,按这五步走,99%的问题当场自愈。剩下1%,大概率是你把密码抄错了——建议复制粘贴,别手打。

好了,现在你可以关掉这篇,去控制台删掉那个试错用的Redis实例了(省钱)。下次再买,记得把本文收藏夹置顶。毕竟,省下的30分钟排查时间,够你多喝一杯冰美式,也够Redis多缓存10万次用户登录请求。

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