活动

天翼云最新优惠活动,涵盖免费试用,产品折扣等,助您降本增效!
热门活动
  • 618智算钜惠季 爆款云主机2核4G限时秒杀,88元/年起!
  • 免费体验DeepSeek,上天翼云息壤 NEW 新老用户均可免费体验2500万Tokens,限时两周
  • 云上钜惠 HOT 爆款云主机全场特惠,更有万元锦鲤券等你来领!
  • 算力套餐 HOT 让算力触手可及
  • 天翼云脑AOne NEW 连接、保护、办公,All-in-One!
  • 中小企业应用上云专场 产品组合下单即享折上9折起,助力企业快速上云
  • 息壤高校钜惠活动 NEW 天翼云息壤杯高校AI大赛,数款产品享受线上订购超值特惠
  • 天翼云电脑专场 HOT 移动办公新选择,爆款4核8G畅享1年3.5折起,快来抢购!
  • 天翼云奖励推广计划 加入成为云推官,推荐新用户注册下单得现金奖励
免费活动
  • 免费试用中心 HOT 多款云产品免费试用,快来开启云上之旅
  • 天翼云用户体验官 NEW 您的洞察,重塑科技边界

智算服务

打造统一的产品能力,实现算网调度、训练推理、技术架构、资源管理一体化智算服务
智算云(DeepSeek专区)
科研助手
  • 算力商城
  • 应用商城
  • 开发机
  • 并行计算
算力互联调度平台
  • 应用市场
  • 算力市场
  • 算力调度推荐
一站式智算服务平台
  • 模型广场
  • 体验中心
  • 服务接入
智算一体机
  • 智算一体机
大模型
  • DeepSeek-R1-昇腾版(671B)
  • DeepSeek-R1-英伟达版(671B)
  • DeepSeek-V3-昇腾版(671B)
  • DeepSeek-R1-Distill-Llama-70B
  • DeepSeek-R1-Distill-Qwen-32B
  • Qwen2-72B-Instruct
  • StableDiffusion-V2.1
  • TeleChat-12B

应用商城

天翼云精选行业优秀合作伙伴及千余款商品,提供一站式云上应用服务
进入甄选商城进入云市场创新解决方案
办公协同
  • WPS云文档
  • 安全邮箱
  • EMM手机管家
  • 智能商业平台
财务管理
  • 工资条
  • 税务风控云
企业应用
  • 翼信息化运维服务
  • 翼视频云归档解决方案
工业能源
  • 智慧工厂_生产流程管理解决方案
  • 智慧工地
建站工具
  • SSL证书
  • 新域名服务
网络工具
  • 翼云加速
灾备迁移
  • 云管家2.0
  • 翼备份
资源管理
  • 全栈混合云敏捷版(软件)
  • 全栈混合云敏捷版(一体机)
行业应用
  • 翼电子教室
  • 翼智慧显示一体化解决方案

合作伙伴

天翼云携手合作伙伴,共创云上生态,合作共赢
天翼云生态合作中心
  • 天翼云生态合作中心
天翼云渠道合作伙伴
  • 天翼云代理渠道合作伙伴
天翼云服务合作伙伴
  • 天翼云集成商交付能力认证
天翼云应用合作伙伴
  • 天翼云云市场合作伙伴
  • 天翼云甄选商城合作伙伴
天翼云技术合作伙伴
  • 天翼云OpenAPI中心
  • 天翼云EasyCoding平台
天翼云培训认证
  • 天翼云学堂
  • 天翼云市场商学院
天翼云合作计划
  • 云汇计划
天翼云东升计划
  • 适配中心
  • 东升计划
  • 适配互认证

开发者

开发者相关功能入口汇聚
技术社区
  • 专栏文章
  • 互动问答
  • 技术视频
资源与工具
  • OpenAPI中心
开放能力
  • EasyCoding敏捷开发平台
培训与认证
  • 天翼云学堂
  • 天翼云认证
魔乐社区
  • 魔乐社区

支持与服务

为您提供全方位支持与服务,全流程技术保障,助您轻松上云,安全无忧
文档与工具
  • 文档中心
  • 新手上云
  • 自助服务
  • OpenAPI中心
定价
  • 价格计算器
  • 定价策略
基础服务
  • 售前咨询
  • 在线支持
  • 在线支持
  • 工单服务
  • 建议与反馈
  • 用户体验官
  • 服务保障
  • 客户公告
  • 会员中心
增值服务
  • 红心服务
  • 首保服务
  • 客户支持计划
  • 专家技术服务
  • 备案管家

了解天翼云

天翼云秉承央企使命,致力于成为数字经济主力军,投身科技强国伟大事业,为用户提供安全、普惠云服务
品牌介绍
  • 关于天翼云
  • 智算云
  • 天翼云4.0
  • 新闻资讯
  • 天翼云APP
基础设施
  • 全球基础设施
  • 信任中心
最佳实践
  • 精选案例
  • 超级探访
  • 云杂志
  • 分析师和白皮书
  • 天翼云·创新直播间
市场活动
  • 2025智能云生态大会
  • 2024智算云生态大会
  • 2023云生态大会
  • 2022云生态大会
  • 天翼云中国行
天翼云
  • 活动
  • 智算服务
  • 产品
  • 解决方案
  • 应用商城
  • 合作伙伴
  • 开发者
  • 支持与服务
  • 了解天翼云
      • 文档
      • 控制中心
      • 备案
      • 管理中心
      文档中心

      云数据库GeminiDB

      云数据库GeminiDB

        • 产品动态
        • 产品简介
        • 产品定义
        • 系统架构
        • 产品优势
        • 典型应用
        • 权限管理
        • 与其他云服务的关系
        • GeminiDB Redis接口
        • 产品介绍
        • 产品定义
        • 应用场景
        • GeminiDB Redis与开源Redis对比优势
        • 兼容接口和版本
        • 数据库实例规格
        • 数据库实例状态
        • 产品优势
        • 计费说明
        • 产品价格
        • 计费模式
        • 备份计费
        • 快速入门
        • 概述
        • 创建实例
        • 连接实例
        • 用户指南
        • 连接管理
        • 配置内网域名
        • 配置公网域名
        • 设置安全组规则
        • 绑定弹性IP
        • 查看IP地址和端口
        • 修改实例安全组
        • 实例开发规范与命令兼容
        • 使用规范
        • Lua脚本规范
        • 命令兼容列表
        • 实例生命周期
        • 重启实例
        • 删除实例
        • 实例回收站
        • 重建实例
        • 重启实例
        • 删除实例
        • 实例回收站
        • 重建实例
        • 变更实例
        • 修改实例名称
        • 重置管理员密码
        • 扩容磁盘
        • 变更实例的CPU和内存规格
        • 添加节点
        • 标签管理
        • 数据库引擎及操作系统更新
        • 备份与恢复
        • 备份概述
        • 管理自动备份
        • 管理手动备份
        • 恢复备份到新实例
        • 监控与告警
        • GeminiDB Redis支持的监控指标
        • 设置告警规则
        • 查看监控指标
        • 配置监控面板
        • 审计
        • 支持审计的关键操作列表
        • 查看追踪事件
        • 日志管理
        • 慢日志
        • 计费管理
        • 实例续费
        • 按需计费实例转包周期
        • 包周期实例转按需计费
        • 退订包周期实例
        • 数据迁移
        • Redis到GeminiDB Redis的迁移
        • Kvrocks到GeminiDB Redis的迁移
        • Pika到GeminiDB Redis的迁移
        • SSDB到GeminiDB Redis的迁移
        • LevelDB到GeminiDB Redis的迁移
        • RocksDB到GeminiDB Redis的迁移
        • 常见问题
        • 产品咨询
        • 使用GeminiDB Redis时要注意什么
        • 计费相关
        • 数据库使用
        • 数据库连接
        • 备份与恢复
        • 区域和可用区
        • 数据迁移
        • 资源冻结/释放/删除/退订
        • GeminiDB Influx接口
        • 产品介绍
        • 产品定义
        • 兼容接口和版本
        • 数据库实例规格
        • 数据库实例状态
        • 使用规范和建议
        • 计费说明
        • 计费概述
        • 计费模式
        • 计费模式概述
        • 包年/包月
        • 按需计费
        • 计费项
        • 产品价格
        • 计费样例
        • 变更计费模式
        • 变更计费模式概述
        • 按需转包年/包月
        • 包年/包月转按需
        • 续费
        • 续费概述
        • 手动续费
        • 自动续费
        • 费用账单
        • 欠费说明
        • 停止计费
        • 计费FAQ
        • 快速入门
        • 概述
        • 购买实例
        • 购买GeminiDB Influx实例
        • 连接实例
        • 连接方式介绍
        • 内网连接实例
        • 通过负载均衡地址连接实例(推荐)
        • 通过内网IP连接实例
        • 公网连接实例
        • 程序代码连接实例
        • 通过Go语言连接实例
        • 通过Java语言连接实例
        • 通过Python语言连接实例
        • 入门实践
        • 用户指南
        • 权限管理
        • 创建用户并授权
        • 自定义策略
        • 实例生命周期
        • 重启实例
        • 删除按需实例
        • 实例回收站
        • 变更实例
        • 升级内核小版本
        • 修改实例名称
        • 重置管理员密码
        • 变更实例的CPU和内存规格
        • 扩容磁盘
        • 添加节点
        • 标签管理
        • 操作系统更新
        • 连接管理
        • 设置安全组规则
        • 绑定弹性公网IP
        • 修改实例安全组
        • 开启和关闭SSL安全连接
        • 数据迁移
        • 数据库命令-支持的命令列表
        • 冷热分离
        • 开启冷存储
        • 冷热数据分离
        • 扩容冷存储
        • 证书管理
        • 下载SSL默认证书
        • CCM私有证书配置
        • 数据备份
        • 备份概述
        • 管理自动备份
        • 管理手动备份
        • 数据恢复
        • 参数模板管理
        • 创建参数模板
        • 编辑参数模板
        • 查看参数修改历史
        • 导出参数模板
        • 比较参数模板
        • 复制参数模板
        • 重置参数模板
        • 应用参数模板
        • 查看参数模板应用记录
        • 修改参数模板描述
        • 删除参数模板
        • 监控与告警
        • GeminiDB Influx支持的监控指标
        • 设置告警规则
        • 查看监控指标
        • 事件监控
        • 实例操作审计
        • 计费管理
        • 实例续费
        • 按需计费实例转包周期
        • 包周期实例转按需计费
        • 退订包周期实例
        • 最佳实践-购买并连接GeminiDB Influx实例
        • 性能白皮书
        • 测试方法
        • 测试数据
        • 常见问题
        • 产品咨询类问题
        • 计费相关类问题
        • 数据库连接类问题
        • 备份与恢复类问题
        • 区域和可用区类问题
        • 资源冻结/释放/删除/退订类问题
        • 相关协议
        • 天翼云数据库GeminiDB服务协议
        • 天翼云数据库GeminiDB服务等级协议
        • 文档下载
          无相关产品

          本页目录

          帮助中心云数据库GeminiDBGeminiDB Redis接口快速入门连接实例
          连接实例
          更新时间 2024-07-04 11:23:14
          • 新浪微博
          • 微信
            扫码分享
          • 复制链接
          最近更新时间: 2024-07-04 11:23:14
          分享文章
          • 新浪微博
          • 微信
            扫码分享
          • 复制链接
          本节介绍了GeminiDB Redis提供使用内网的连接方式。

          连接方式介绍

          GeminiDB Redis提供使用内网的连接方式如下:

          连接方式

          连接方式 使用场景 说明
          内网连接 介绍通过内网连接GeminiDB Redis实例的方法。该方式适用于当应用部署在弹性云服务器上,
          且该弹性云服务器与数据库实例处于同一区域、同一VPC内时连接数据库实例。
          安全性高,可实现数据库实例的较好性能。
          公网连接 介绍通过公网连接GeminiDB Redis实例的方法。该方式适用于不能通过内网方式访问数据库实例时,
          可以单独使用公网域名或弹性IP连接弹性云服务器(或公网主机)与数据库实例。
          为了获得更快的传输速率和更高的安全性,建议您将应用迁移到与您的数据库实例在同一VPC子网内,使用内网连接。
          程序代码连接 介绍通过Jedis连接实例、通过Hiredis连接实例、通过NodeJs连接实例、通过PHP连接实例和通过Python连接实例等程序语言的方式访问GeminiDB Redis实例的方法。 -

          防暴力破解

          • 防暴力破解安全机制

          GeminiDB Redis默认开启auth认证的防暴力破解功能,当auth认证错误次数累计超过5次,该IP会被后台锁定,不能继续进行auth认证。

          • 自动解除机制

          当一个IP被锁定超过5秒后,该IP会被自动解锁,此后可以重新进行认证。

          • 人工解锁

          如需人工解锁IP,或关闭实例的防暴力破解功能,请联系客服提交工单,进行授权确认。

          注意

          为进一步提高安全性,可根据实际情况提交工单,由技术人员协助进行认证次数及锁定时长的调节。

          为保证安全性,请您充分评估风险,谨慎关闭或调整该安全策略,关闭后由此带来的安全风险及事故,将不计入服务SLA中,由客户自行承担。


          通过内网连接实例

          以Linux操作系统为例,指导您通过内网IP连接GeminiDB Redis实例。

          使用须知

          • 目标实例必须与弹性云主机在同一个虚拟私有云和子网内才能访问。
          • 弹性云主机必须处于目标实例所属安全组允许访问的范围内。
            • 场景一: 如果目标实例所属安全组为 默认安全组 ,则无需设置安全组规则。
            • 场景二: 如果目标实例所属安全组 非默认安全组 ,请查看安全组规则是否允许该弹性云主机访问。

          如果安全组规则允许弹性云主机访问,即可连接实例。

          如果安全组规则不允许弹性云主机访问,需要在实例安全组添加一条“入”的访问规则。

          • 设置安全组的具体操作请参考设置安全组规则。

          前提条件

          • 创建弹性云主机,以Linux操作系统为例。详情请参见《弹性云主机用户指南》中“创建并登录弹性云主机”的内容。
          注意

          弹性云主机必须和实例在同一个虚拟私有云和子网内才能访问。

          • 下载Redis客户端安装包。

          内网IP连接

          1. 登录弹性云主机,详情请参见《弹性云主机用户指南》中“创建并登录弹性云主机”的内容。

          2. 将Redis客户端安装包上传到弹性云主机。

          3. 解压客户端工具包。

            tar -xzf redis-5.0.7.tar.gz
            
          4. 在“src”目录下,连接数据库实例。

            cd redis-5.0.7 
            make 
            cd src 
            ./redis-cli -h <DB_HOST> -p <DB_PORT> -a <DB_PWD> 
            示例:
            ./redis-cli -h 192.168.xx.xx -p 8635 -a <DB_PWD> 
            
            参数 说明
            <DB_HOST> 待连接实例的内网IP。
            您可以在“实例管理”页面,单击实例名称,进入“基本信息”页面,在节点信息列表中获取“内网IP”。
            如果您创建的实例有多个节点,选择其中任意一个节点的内网IP即可连接GeminiDB Redis实例。
            <DB_PORT> 待连接实例的端口,一般默认为8635,具体请以实际端口为准。
            获取实例端口的方法如下:
            在“实例管理”页面,单击实例名称,进入“基本信息”页面,在“网络信息 > 数据库端口”处获取当前实例的端口信息。
            <DB_PWD> 创建GeminiDB Redis实例时设置的管理员密码。
          5. 出现如下信息,说明连接成功。

            IP:port>
            

          通过公网连接实例

          GeminiDB Redis支持使用弹性云主机或本地设备,通过公网连接GeminiDB Redis实例。

          前提条件

          • GeminiDB Redis实例节点需要绑定弹性IP并设置安全组规则,确保可以通过弹性云服务器访问弹性IP,具体操作请参见绑定弹性IP和设置安全组规则。

            说明

            GeminiDB Redis实例下存在多个节点,选择任意一个节点绑定弹性IP即可。

          • 下载Redis客户端安装包。

          操作步骤

          1. 登录弹性云主机,详情请参见《弹性云主机用户指南》中“创建并登录弹性云主机”的内容。

          2. 将Redis客户端安装包上传到弹性云主机。

          3. 解压客户端工具包。

            tar -xzf redis-5.0.7.tar.gz
            
          4. 在“src”目录下,连接数据库实例。

            cd redis-5.0.7 
            make 
            cd src 
            ./redis-cli -h <DB_HOST> -p <DB_PORT> -a <DB_PWD> 
            示例:
            ./redis-cli -h 192.168.xx.xx -p 8635 -a <DB_PWD> 
            
            参数 说明
            <DB_HOST> 待连接实例的内网IP。
            您可以在“实例管理”页面,单击实例名称,进入“基本信息”页面,在节点信息列表中获取“内网IP”。
            如果您创建的实例有多个节点,选择其中任意一个节点的内网IP即可连接GeminiDB Redis实例。
            <DB_PORT> 待连接实例的端口,一般默认为8635,具体请以实际端口为准。
            获取实例端口的方法如下:
            在“实例管理”页面,单击实例名称,进入“基本信息”页面,在“网络信息 > 数据库端口”处获取当前实例的端口信息。
            <DB_PWD> 创建GeminiDB Redis实例时设置的管理员密码。
          5. 出现如下信息,说明连接成功。

            IP:port>
            

          通过IPv6连接GeminiDB Redis

          GeminiDB Redis接口支持使用IPv4/IPv6双栈网络,默认实例只分配IPv4地址。当开启IPv4/IPv6连接功能时,实例会分配IPv4地址和IPv6地址,根据需要选择相应地址连接即可。

          前提条件

          • 创建双栈实例时,需确保实例所在VPC和子网已经开通IPv6。VPC开通IPv6请参见创建IPv4/IPv6双栈子网。
          • 连接双栈实例时,需确保业务ECS支持IPv6。ECS支持双栈网络请参见IPv4/IPv6双栈网络。
          • 默认IPv6地址只具备私网通信能力,如果您需要通过该IPv6地址访问Internet或被Internet上的IPv6客户端访问,您需要购买和绑定共享带宽。具体请参考购买和加入共享带宽。(如您已有共享带宽,可以不用重新购买,直接将IPv6地址加入共享带宽即可。)
          • 使用IPv6地址连接实例时,请先确保实例的IPv6地址已配置在实例的安全组规则里,具体请参考添加安全组规则。

          使用须知

          • 当前功能属于公测阶段,仅新创实例支持开通IPv4/IPv6双栈功能。如需使用IPv4/IPv6双栈网络连接功能,请联系客服申请开通。
          • 开通IPv4/IPv6双栈网络连接功能后,创建IPv4/IPv6双栈实例需要选择支持IPv6的可用区、规格、子网,并且勾选启用IPv6。
          • IPv6双栈,当前暂不收费,后续定价会根据运营商收费策略的变化进行调整。
          • 仅Redis集群和主备版支持创建IPv4/IPv6双栈实例。

          IPv4/IPv6双栈网络的应用场景

          应用场景 场景示例 子网 ECS
          IPv6内网通信 您在ECS上部署应用,需要与Redis实例之间使用IPV6进行内网互访。 IPv4网段
          IPv6网段
          IPv4私有地址:用于IPv4内网通信。
          IPv6地址:用于IPv6内网通信。
          IPv6公网通信 您在ECS上部署应用并面向公网客户端提供服务,支持客户端通过IPv6地址访问。 IPv4网段
          IPv6网段
          IPv4私有地址+IPv4 EIP地址:用于IPv4公网通信。
          IPv6地址+共享带宽:用于IPv6公网通信。

          操作步骤

          1. 登录弹性云主机,详情请参见《弹性云主机用户指南》中“创建并登录弹性云主机”的内容。

          2. 将Redis客户端安装包上传到弹性云主机。

          3. 解压客户端工具包。

            tar -xzf redis-5.0.7.tar.gz
            
          4. 在“src”目录下,连接数据库实例。

            cd redis-5.0.7 
            make 
            cd src 
            ./redis-cli -h <DB_HOST> -p <DB_PORT> -a <DB_PWD> 
            示例:
            ./redis-cli -h 192.168.xx.xx -p 8635 -a <DB_PWD> 
            
            参数 说明
            <DB_HOST> 待连接实例的IPv6连接地址。IPv6连接地址生成后,您可以单击实例名称,进入“基本信息”页面,在网络信息区域获取到“IPv6连接地址”。
            查看IPv6连接地址
            图片1.png 
            目前IPv6连接地址处于公测阶段,如您的实例未自动生成“IPv6连接地址”,请联系客服申请免费开通。
            <DB_PORT> 待连接实例的端口,一般默认为8635,具体请以实际端口为准。
            获取实例端口的方法如下:在“实例管理”页面,单击实例名称,进入“基本信息”页面,在“网络信息> 数据库端口”处获取当前实例的端口信息。
            <DB_PWD> 创建GeminiDB Redis实例时设置的管理员密码。
          5. 出现如下信息,说明连接成功。

            IP:port>
            

          程序代码连接GeminiDB Redis

          通过Jedis连接实例

          由于GeminiDB Redis的“Proxy集群”架构提供了统一的负载均衡地址,并提供高可用能力,因此推荐使用JedisPool单机模式轻松接入。

          此外,GeminiDB Redis对JedisSentinelPool、JedisCluster两种模式也提供支持。

          使用JedisPool的示例代码(推荐):

          import org.apache.commons.pool2.impl.GenericObjectPoolConfig; 
          import redis.clients.jedis.Jedis; 
          import redis.clients.jedis.JedisPool; 
           
          public class JedisPoolTests { 
           
            private static void testPool() { 
              String pwd = "a"; 
            
              JedisPool pool = new JedisPool(new GenericObjectPoolConfig(), "172.xx.xx.xx", 8635, 
                  2000, pwd); 
              Jedis jedis = pool.getResource(); 
              try { 
                System.out.println(jedis.hgetAll("676296")); 
                System.out.println(jedis.set("key1", "value1")); 
              } finally { 
                jedis.close(); 
              } 
              pool.destroy(); 
            } 
           
            public static void main(String[] args) { 
              testPool(); 
            } 
          }
          

          1、上述代码中“172.xx.xx.xx”为待连接GeminiDB Redis实例的节点IP,可以是内网IP、负载均衡地址或者弹性IP,请结合实际业务场景选用。为了实现访问的高可用,推荐您使用负载均衡地址。

          以下分别是获取负载均衡地址、内网IP或弹性IP的方法。

          • 获取负载均衡地址

            • 因该功能目前处于公测阶段,您可以联系客服申请免费使用。待负载均衡地址申请创建成功后,您可以单击实例名称,进入“基本信息”页面,在网络信息区域获取“负载均衡地址”。
          • 获取内网IP或者弹性IP

            • 请参见查看IP地址和端口获取对应节点的内网IP或者弹性IP地址。如果您创建的实例有多个节点,选择其中任意一个节点的内网IP或弹性IP即可连接GeminiDB Redis实例。

          2、上述代码中的“8635”为待连接GeminiDB Redis实例的端口,一般默认为8635,具体请以实际端口为准。获取端口的方法请参见查看IP地址和端口。

          3、GeminiDB Redis支持与限制的命令,详情请参见使用规范。

          4、由于GeminiDB Redis和开源Redis集群计算hash算法不同,因此GeminiDB Redis的部分命令需要给对应的key打上hash tag,否则会出现非预期的行为。hash tag使用建议参考使用规范。

          通过Redisson连接实例

          介绍使用Java的开源库Redisson访问GeminiDB Redis实例的方法,主要涉及单机模式和sentinel模式连接。

          使用SingleServer模式连接实例

          样例代码 :

          
          import org.redisson.Redisson; 
          import org.redisson.api.RedissonClient; 
          import org.redisson.config.Config; 
           
          public class SingleServerTests { 
           
            private static void testSingleServer() { 
              Config config = new Config(); 
              config.useSingleServer().setAddress("redis://172.xx.xx.xx:8635") 
                                      .setPassword(password); 
              RedissonClient redisson = Redisson.create(config); 
              execute(redisson);   // send requests to database 
              redisson.shutdown(); 
            } 
           
            public static void main(String[] args) { 
              testSingleServer(); 
            } 
          }
          

          1、上述代码中“172.xx.xx.xx”为待连接GeminiDB Redis实例的节点IP,可以是内网IP、负载均衡地址或者弹性IP,请结合实际业务场景选用。为了实现访问的高可用,推荐您使用负载均衡地址。

          以下分别是获取负载均衡地址、内网IP或弹性IP的方法。

          • 获取负载均衡地址
            • 因该功能目前处于公测阶段,您可以联系客服申请免费使用。
            • 待负载均衡地址申请创建成功后,您可以单击实例名称,进入“基本信息”页面,在网络信息区域获取“负载均衡地址”。
          • 获取内网IP或者弹性IP
            • 请参见 查看IP地址和端口获取对应节点的内网IP或者弹性IP地址。如果您创建的实例有多个节点,选择其中任意一个节点的内网IP或弹性IP即可连接GeminiDB Redis实例。

          2、上述代码中的“8635”为待连接GeminiDB Redis实例的端口,一般默认为8635,具体请以实际端口为准。获取端口的方法请参见 查看IP地址和端口。

          3、GeminiDB Redis支持与限制的命令,详情请参见使用规范。

          4、 由于GeminiDB Redis和开源Redis集群计算hash算法不同,因此GeminiDB Redis的部分命令需要给对应的key打上hash tag,否则会出现非预期的行为。hash tag使用建议参考 使用规范。

          使用Sentinel模式连接实例

          样例代码:

          import org.redisson.Redisson; 
          import org.redisson.api.RedissonClient; 
          import org.redisson.config.Config; 
          import static org.redisson.config.ReadMode.MASTER; 
           
          public class SingleServerTests { 
           
            public static void testSentinel() { 
              Config config = new Config(); 
              config.useSentinelServers() 
                      .setMasterName(master_name) 
                      .setCheckSentinelsList(false) 
                      .setReadMode(MASTER) 
                      .setPassword(password) 
                      .addSentinelAddress("redis://172.xx.xx.xx:8635"); 
              RedissonClient redisson = Redisson.create(config); 
              execute(redisson);      // send requests to database 
              redisson.shutdown(); 
          } 
           
            public static void main(String[] args) { 
              testSentinel(); 
            } 
          }
          

          1、 上述代码中“172.xx.xx.xx”为待连接GeminiDB Redis实例的节点IP,可以是内网IP、负载均衡地址或者弹性IP,请结合实际业务场景选用。为了实现访问的高可用,推荐您使用负载均衡地址。

          以下分别是获取负载均衡地址、内网IP或弹性IP的方法。

          • 获取负载均衡地址
            • 因该功能目前处于公测阶段,您可以联系客服申请免费使用。
            • 待负载均衡地址申请创建成功后,您可以单击实例名称,进入“基本信息”页面,在网络信息区域获取“负载均衡地址”。
          • 获取内网IP或者弹性IP
            • 请参见 查看IP地址和端口获取对应节点的内网IP或者弹性IP地址。如果您创建的实例有多个节点,选择其中任意一个节点的内网IP或弹性IP即可连接GeminiDB Redis实例。

          2、上述代码中的“8635”为待连接GeminiDB Redis实例的端口,一般默认为8635,具体请以实际端口为准。获取端口的方法请参见查看IP地址和端口。

          3、 GeminiDB Redis只是实现了Sentinel模式的接入方式,不采用原生sentinel的可用性功能。所以样例代码中,master_name固定为“mymaster”,必须设置“CheckSentinelsList”为fasle,必须设置ReadMode为MASTER。

          4、 GeminiDB Redis支持与限制的命令,详情请参见使用规范。

          5、 由于GeminiDB Redis和开源Redis集群计算hash算法不同,因此GeminiDB Redis的部分命令需要给对应的key打上hash tag,否则会出现非预期的行为。hash tag使用建议参考使用规范。

          通过Hiredis连接实例

          主要介绍使用Hiredis访问GeminiDB Redis实例的方法。

          前提条件

          • 已成功创建GeminiDB Redis实例,且实例状态正常。
          • 已创建弹性云主机,创建弹性云主机的方法,请参见《弹性云主机快速入门》中“登录弹性云主机”章节。
          • 弹性云主机上已经安装GCC等编译工具。

          操作步骤

          1、获取GeminiDB Redis实例的内网IP地址或域名、端口。

          • 内网IP地址和端口的查看方法请参见查看IP地址和端口。
          • 内网域名获取方法请参见配置内网域名。

          登录弹性云主机,具体操作请参见《弹性云主机快速入门》中“登录弹性云主机”。

          使用如下命令,下载并解压Hiredis。

          wget https://github.com/redis/hiredis/archive/master.zip;

          进入到解压目录后编译安装Hiredis。

          make

          make install

          编写测试代码connRedisTst.cc。

          说明

          关于Hiredis的详细用法,请参考redis官网的使用介绍。

          代码如下:

          #include <stdio.h> 
          #include <stdlib.h> 
          #include <string.h> 
          #include <hiredis.h> 
          int main(int argc, char **argv) { 
               unsigned int j; 
               redisContext *conn; 
               redisReply *reply; 
               if (argc < 3) { 
                       printf("Usage: example {instance_ip_address} 6379 {password}\n"); 
                       exit(0); 
               } 
               const char *hostname = argv[1]; 
               const int port = atoi(argv[2]); 
               const char *password = argv[3]; 
               struct timeval timeout = { 1, 500000 }; // 1.5 seconds 
               conn = redisConnectWithTimeout(hostname, port, timeout); 
               if (conn == NULL || conn->err) { 
                        if (conn) { 
                       printf("Connection error: %s\n", conn->errstr); 
                       redisFree(conn); 
                        } else { 
                       printf("Connection error: can't allocate redis context\n"); 
                        } 
               exit(1); 
               } 
               /* AUTH */ 
               reply = redisCommand(conn, "AUTH %s", password); 
               printf("AUTH: %s\n", reply->str); 
               freeReplyObject(reply); 
            
               /* Set */ 
               reply = redisCommand(conn,"SET %s %s", "key", "hiredis test ok!"); 
               printf("SET: %s\n", reply->str); 
               freeReplyObject(reply); 
            
               /* Get */ 
               reply = redisCommand(conn,"GET key"); 
               printf("GET key: %s\n", reply->str); 
               freeReplyObject(reply); 
            
               /* Disconnects and frees the context */ 
               redisFree(conn); 
               return 0; 
          }
          

          执行如下命令进行编译。

          gcc connRedis.c -o connRedis -I /usr/local/include/hiredis -lhiredis

          如果有报错,可查找hiredis.h文件路径,并修改编译命令。

          编译完后得到一个可执行文件connRedis。

          执行如下命令,连接GeminiDB Redis实例。

          export LD_LIBRARY_PATH=/usr/local/lib/:$LD_LIBRARY_PATH

          ./connRedis <redis_ip_address> 8635

          其中,以下信息需按照实际情况进行替换:

          • <redis_ip_address>为步骤1中获取到的GeminiDB Redis实例的内网IP地址或域名。
          • “8635”为GeminiDB Redis实例的默认端口。
          • 为创建GeminiDB Redis实例时自定义的密码。

          返回如下回显信息,表示成功连接GeminiDB Redis实例。

          AUTH: OK 
          SET: OK 
          GET key: Hello, hiredis test ok!
          

          通过NodeJs连接实例

          主要介绍使用NodeJs访问GeminiDB Redis实例的方法。

          前提条件

          • 已成功创建GeminiDB Redis实例,且实例状态为“正常”。
          • 已创建弹性云主机,创建弹性云主机的方法,请参见《弹性云主机快速入门》中“登录弹性云主机”章节。
          • 如果弹性云主机为Linux系统,该弹性云主机上必须已经安装GCC等编译工具。

          操作步骤

          获取GeminiDB Redis实例的内网IP地址或域名、端口。

          • 内网IP地址和端口的查看方法请参见查看IP地址和端口。
          • 内网域名获取方法请参见 配置内网域名。

          登录弹性云主机,具体操作请参见《弹性云主机快速入门》中“登录弹性云主机”。

          安装NodeJs。

          • 方法一: 使用如下命令安装NodeJs。

          yum install nodejs

          说明

          以CentOS(redhat系列)为例,如果是Ubuntu(debian系列),则需要使用其对应的安装命令。

          • 方法二: 如果方法一安装不了,也可以通过如下方式进行安装。

          wget https://nodejs.org/dist/v0.12.4/node-v0.12.4.tar.gz --no-check-certificate ;

          tar -xvf node-v0.12.4.tar.gz;

          cd node-v0.12.4;

          ./configure;

          make;

          make install;

          说明

          以CentOS(redhat系列)为例,如果是Ubuntu(debian系列),则需要使用其对应的安装命令。

          NodeJs安装完成后,可执行如下命令,查看其版本号,确认NodeJs已安装成功。

          node -v

          安装JS包管理工具npm。

          yum install npm

          安装NodeJs redis客户端ioredis。

          npm install ioredis

          编辑连接GeminiDB Redis实例的示例脚本。

          var Redis = require('ioredis'); 
          var redis = new Redis({ 
            port: 8635,          // 此处为步骤1中获取到的GeminiDB Redis实例的端口。 
            host: '192.168.1.18',   //此处为步骤1中获取到的GeminiDB Redis实例的内网IP,例如:192.168.1.18。 
            family: 4,           // 此处填写4表示IPv4,6表示IPv6。 
            password: 'pwd', //此处以GeminiDB Redis实例的实际密码为准。 
            db: 0 
          }); 
          redis.set('key', 'Nodejs tst ok!'); 
          redis.get('key', function (err, result) { 
            console.log(result); 
          });
          

          运行示例脚本,确认结果正常。

          node ioredisdemo.js

          通过PHP连接实例

          主要介绍使用PHP访问GeminiDB Redis实例的方法。

          前提条件

          • 已成功创建GeminiDB Redis实例,且实例状态为“正常”。
          • 已创建弹性云主机,创建弹性云主机的方法,请参见《弹性云主机快速入门》中“登录弹性云主机”章节。
          • 弹性云主机上已经安装GCC等编译工具。

          操作步骤

          获取GeminiDB Redis实例的内网IP地址或域名、端口。

          • 内网IP地址和端口的查看方法请参见查看IP地址和端口。
          • 内网域名获取方法请参见 配置内网域名。

          登录弹性云主机,具体操作请参见《弹性云主机快速入门》中“登录弹性云主机”。

          安装PHP开发包与命令行工具。

          执行如下命令,使用yum方式直接安装。

          yum install php-devel php-common php-cli

          说明

          以CentOS(redhat系列)为例,如果是Ubuntu(debian系列),则需要使用其对应的安装命令。

          安装完后可查看版本号,确认成功安装。

          php --version

          安装Redis的PHP客户端。

          1. 下载phpredis源文件。

          wget http://pecl.php.net/get/redis-4.1.0RC3.tgz

          说明

          以上是当前最新版本,也可以通过PHP官网下载其他版本的phpredis客户端。

          1. 解压phpredis源文件包。

          tar -zxvf redis-4.1.0RC3.tgz

          cd redis-4.1.0RC3

          1. 编译前先执行扩展命令。

          phpize

          1. 配置php-config文件。

          ./configure --with-php-config=/usr/bin/php-config

          说明

          不同的操作系统,安装PHP的方式不同,该配置文件位置可能不同。建议在配置前,先确认该文件的目录,命令如下:find / -name php.ini。

          1. 编译和安装phpredis客户端。

          make && make install

          1. 安装完后在php.ini文件中增加extension配置项,用于增加redis模块的引用配置。

          使用如下命令,查找到php.ini文件:

          vim /usr/local/php/etc/php.ini

          在php.ini文件中,增加如下配置项:

          extension = "/usr/lib64/php/modules/redis.so"
          
          说明

          php.ini和redis.so两个文件的目录可能不同,可通过如下命令先查找确认。

          find / -name php.ini

          find / -name redis.so


          1. 保存退出后确认扩展生效。

          php -m |grep redis

          如果以上命令返回了redis,表示php redis客户端环境搭建好了。

          使用phpredis客户端连接GeminiDB Redis实例。

          1. 编写测试代码redis.php。

            <?php 
                $redis_host = "192.168.1.18";  //假设redis ip为192.168.1.18 
                $redis_port = 8635; 
                $user_pwd = "pwd"; 
                $redis = new Redis(); 
                if ($redis->connect($redis_host, $redis_port) == false) { 
                   die($redis->getLastError()); 
                } 
                if ($redis->auth($user_pwd) == false) { 
                    die($redis->getLastError()); 
                } 
                if ($redis->set("key", "php test ok!") == false) { 
                    die($redis->getLastError()); 
                } 
                $value = $redis->get("key"); 
                echo $value; 
                $redis->close(); 
            ?>
            
          2. 执行redis.php,确认结果正常。

          通过Python连接实例

          主要介绍使用Python访问GeminiDB Redis实例的方法。

          前提条件

          • 已成功创建GeminiDB Redis实例,且实例状态为“正常”。
          • 已创建弹性云主机,创建弹性云主机的方法,请参见《弹性云主机快速入门》中“登录弹性云主机”章节。

          操作步骤

          1、获取GeminiDB Redis实例的内网IP地址或域名、端口。

          • 内网IP地址和端口的查看方法请参见 查看IP地址和端口。
          • 内网域名获取方法请参见 配置内网域名。

          登录弹性云主机,具体操作请参见《弹性云主机快速入门》中“登录弹性云主机”。

          安装Python和Redis的Python客户端Redis-py。

          1. 如果系统没有自带Python,可以使用yum方式安装。

          yum install python

          1. 下载并解压redis-py。

          wget https://github.com/andymccurdy/redis-py/archive/master.zip;

          1. 进入到解压目录后安装Redis的Python客户端Redis-py。

          python setup.py install

          1. 安装后执行python命令,返回如下信息说明成功安装Redis-py:
          Python 2.6.6 (r266:84292, Aug 18 2016, 15:13:37)  
          [GCC 4.4.7 20120313 (Red Hat 4.4.7-17)] on linux2 
          Type "help", "copyright", "credits" or "license" for more information. 
          >>> import redis 
          >>> 
          

          使用Redis-py客户端连接GeminiDB Redis实例。

          以下步骤以命令行模式进行示例(也可以将命令写入python脚本中再执行):

          1. 执行python命令,进入命令行模式。

          返回如下信息说明已进入命令行模式:

          Python 2.6.6 (r266:84292, Aug 18 2016, 15:13:37)  
          [GCC 4.4.7 20120313 (Red Hat 4.4.7-17)] on linux2 
          Type "help", "copyright", "credits" or "license" for more information. 
          >>> import redis 
          >>> 
          
          1. 在命令行中执行以下命令,确认结果正常。
          >>> r = redis.StrictRedis(host='192.168.1.18', port=8635, password='pwd'); 
          >>> r.set('key', 'Python tst ok!') 
          True 
          >>> r.get('key') 
          'Python tst ok!'
          
          说明

          如下信息请按照实际值进行修改后,再执行上述命令。

          host和port为上文中获取到的GeminiDB Redis实例的内网IP/域名和端口。

          password为GeminiDB Redis实例的密码。


          通过Go语言连接实例

          主要介绍使用Go语言访问GeminiDB Redis实例的方法。

          前提条件

          • 已成功创建GeminiDB Redis实例,且实例状态为“正常”。
          • 已创建弹性云主机,创建弹性云主机的方法,请参见《弹性云主机快速入门》中“登录弹性云主机”章节。

          操作步骤

          获取GeminiDB Redis实例的内网IP地址或域名、端口。

          • 内网IP地址和端口的查看方法请参见 查看IP地址和端口。
          • 内网域名获取方法请参见配置内网域名。

          登录弹性云主机,具体操作请参见《弹性云主机快速入门》中“登录弹性云主机”。

          使用Golang客户端连接GeminiDB Redis实例,本文以使用go-redis SDK为例。

          • go-redis的下载地址为:https://github.com/go-redis/redis。
          • 样例代码:
          package main 
            
          import ( 
              "fmt" 
            
              "github.com/go-redis/redis" 
          ) 
            
          func main() { 
              client := redis.NewClient(&redis.Options{ 
                  Addr:     "xx.xx.xx.xx:8635",  // redis address 
                  Password: "xx", // password 
                  DB:       0,  // use default DB 
              }) 
            
              pong, err := client.Ping().Result() 
              fmt.Println(pong, err) 
            
              err = client.Set("key1", "value1", 0).Err() 
              if err != nil { 
                  panic(err) 
              } 
            
              val, err := client.Get("key1").Result() 
              if err != nil { 
                  panic(err) 
              } 
              fmt.Println("key1", val) 
          }
          

          预期输出为:

          PONG
          key1 value1
          
          • 使用go-redis连接GeminiDB Redis时,需要使用普通模式,不能使用集群模式,如上示例代码所示。
          • 上述实例代码中的GeminiDB Redis地址和密码,请根据实际情况填写。
          文档反馈

          建议您登录后反馈,可在建议与反馈里查看问题处理进度

          鼠标选中文档,精准反馈问题

          选中存在疑惑的内容,即可快速反馈问题,我们会跟进处理

          知道了

          上一篇 :  创建实例
          下一篇 :  用户指南
          搜索 关闭
          ©2025 天翼云科技有限公司版权所有 增值电信业务经营许可证A2.B1.B2-20090001
          公司地址:北京市东城区青龙胡同甲1号、3号2幢2层205-32室
          备案 京公网安备11010802043424号 京ICP备 2021034386号
          ©2025天翼云科技有限公司版权所有
          京ICP备 2021034386号
          备案 京公网安备11010802043424号
          增值电信业务经营许可证A2.B1.B2-20090001
          用户协议 隐私政策 法律声明