云数据库 Redis
  • 产品发布记录
  • 新手引导
  • 产品简介

  • 购买指南

  • 快速入门

  • 操作指南

    • 使用限制
    • 操作总览
    • 管理实例

    • 连接实例

      • 通过redis-cli连接
      • 通过Redis Desktop Manager连接
      • 通过客户端程序连接
      • 使用直连地址连接
        • 前提条件
        • 使用直连地址连接
          • Jedis客户端直连示例
          • redis-py客户端直连示例
        • 常见问题
    • 网络与安全
    • 备份与恢复

    • 数据迁移

    • 监控告警

    • 账号与密码

    • 参数配置
    • 禁用命令
    • 标签管理
  • 性能白皮书
  • API文档

  • 最佳实践

  • 常见问题

  • 故障处理

  • 服务条款
  • 相关概念
  • 联系我们
  • 云数据库Redis
  • 操作指南
  • 连接实例
云数据库 Redis

云数据库Redis是首云提供的兼容开源Redis协议标准、基于键值对形式存储的内存数据库服务,具有高可用、高可靠、弹性扩展等特点。支持主从和集群两种架构,可实现亚毫秒级响应时间,每秒处理数十万个请求,可满足高吞吐、低延迟及弹性变配等业务需求。

  • 产品简介
    • 产品概述

    • 产品优势

    • 应用场景

    • 产品系列

    • 命令支持

    • 地域与可用区

  • 购买指南
    • 计费概述

    • 购买方式

    • 欠费说明

    • 调整实例规格费用说明

  • 快速入门
    • 创建Redis实例

    • 设置白名单

    • 连接Redis实例

  • 操作指南
    • 使用限制

    • 操作总览

    • 管理实例

    • 连接实例

    • 网络与安全

    • 备份与恢复

    • 数据迁移

    • 监控告警

    • 账号与密码

    • 参数配置

    • 禁用命令

    • 标签管理

  • API文档
    • 认证方式

    • API概览

    • 实例相关接口

    • 备份相关接口

    • 错误码

  • 最佳实践
    • 消息发布订阅

    • 管道传输

    • 事务处理

  • 常见问题
    • 购买计费

    • 连接登录

    • 使用数据库

    • 监控报警

    • 持久化

    • 缓存策略

  • 故障处理
    • Redis无法连接

    • 使用Csredis客户端时出现Unexpected end of stream异常

    • 使用redis-py客户端时连接集群时报错

    • 使用Jedis客户端时出现Unexpected end of stream异常

    • 使用Jedis客户端时出现OOM异常

    • 如何处理大key问题

使用直连地址连接

最后更新时间:2021-12-31 生成PDF文件 | 前往GitHub编辑

开通直连访问后,您可以绕过代理,用直连模式访问云数据库Redis集群版实例。

# 前提条件

  • 成功购买Redis社区集群版实例,实例状态为运行中。购买Redis实例,详情参见创建实例。
  • 已配置云服务器与Redis的网络连接规则,并设置白名单来限制访问Redis实例的IP。如果您允许同一私网网段的所有云服务器皆可访问Redis实例,可以跳过此步骤。
  • 您已开通直连访问,开通步骤详情参见设置直连访问。

# 使用直连地址连接

注意:

  • 使用直连地址访问时,必须使用直连密码认证连接。

# Jedis客户端直连示例

 import java.util.HashSet;
 import java.util.Set;
 import redis.clients.jedis.HostAndPort;
 import redis.clients.jedis.JedisCluster;

   public class TestJedisCluster {

public static void main(String[] args) {
    //创建JedisCluster客户端
    //创建一个set集合,用来封装所有redis节点的信息
    Set<HostAndPort> nodes = new HashSet<>();
    
    nodes.add(new HostAndPort("10.XX.XX.12", 6379));
    nodes.add(new HostAndPort("10.XX.XX.13", 6379));
    nodes.add(new HostAndPort("10.XX.XX.14", 6379));
    nodes.add(new HostAndPort("10.XX.XX.15", 6379));
    nodes.add(new HostAndPort("10.XX.XX.16", 6379));
    nodes.add(new HostAndPort("10.XX.XX.17", 6379));
    nodes.add(new HostAndPort("10.XX.XX.18", 6379));
    nodes.add(new HostAndPort("10.XX.XX.19", 6379));  
    JedisCluster cluster = new JedisCluster(nodes);
    //执行JedisCluster对象中的方法,方法和redis一一对应。
    cluster.set("cluster-test", "my jedis cluster test");
    String result = cluster.get("cluster-test");
    System.out.println(result);
    //程序结束时需要关闭JedisCluster对象
    cluster.close();
    }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29

# redis-py客户端直连示例

#!/usr/bin/python
# -*- coding: utf-8 -*-


import pprint
from time import ctime,sleep
from rediscluster import RedisCluster

startup_nodes = [
    {"host":"10.XX.XX.12", "port":6379},
    {"host":"10.XX.XX.13", "port":6379},
    {"host":"10.XX.XX.14", "port":6379},
    ... ...
    {"host":"10.XX.XX.19", "port":6379},
]
redis_conn= RedisCluster(startup_nodes=startup_nodes, password="XXXXXXXXXXXXXXX",skip_full_coverage_check=True,decode_responses=True)
nodes = redis_conn.cluster_nodes()
# pprint.pprint(nodes)
for row in nodes:
    print row

for i in range(0, 100):
    try:
        redis_conn.set('name'+str(i),str(i))
    except:
        print("connect to redis cluster error")
        #time.sleep(2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27

# 常见问题

如何获取直连地址?

通过客户端程序连接
网络与安全

← 通过客户端程序连接 网络与安全→

最近更新
01
_index
08-18
02
将备份数据迁移至首云Redis
07-11
03
监控概览
04-08
更多文章>

版权所有 ©2005 - 2024 Capitalonline Data Service Co., Ltd 备案序号:京ICP备06033943号 京公网安备:11010502020343号

北京首都在线科技股份有限公司(总部) 经营许可证:B1.B2-20140358 上海红之盟网络科技有限公司(首都在线全资子公司) 经营许可证:B1-20194861