连接方式介绍
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连接
-
登录弹性云主机,详情请参见《弹性云主机用户指南》中“创建并登录弹性云主机”的内容。
-
将Redis客户端安装包上传到弹性云主机。
-
解压客户端工具包。
tar -xzf redis-5.0.7.tar.gz
-
在“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实例时设置的管理员密码。 -
出现如下信息,说明连接成功。
IP:port>
通过公网连接实例
GeminiDB Redis支持使用弹性云主机或本地设备,通过公网连接GeminiDB Redis实例。
前提条件
-
GeminiDB Redis实例节点需要绑定弹性IP并设置安全组规则,确保可以通过弹性云服务器访问弹性IP,具体操作请参见绑定弹性IP和设置安全组规则。
说明GeminiDB Redis实例下存在多个节点,选择任意一个节点绑定弹性IP即可。
-
下载Redis客户端安装包。
操作步骤
-
登录弹性云主机,详情请参见《弹性云主机用户指南》中“创建并登录弹性云主机”的内容。
-
将Redis客户端安装包上传到弹性云主机。
-
解压客户端工具包。
tar -xzf redis-5.0.7.tar.gz
-
在“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实例时设置的管理员密码。 -
出现如下信息,说明连接成功。
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公网通信。 |
操作步骤
-
登录弹性云主机,详情请参见《弹性云主机用户指南》中“创建并登录弹性云主机”的内容。
-
将Redis客户端安装包上传到弹性云主机。
-
解压客户端工具包。
tar -xzf redis-5.0.7.tar.gz
-
在“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连接地址
目前IPv6连接地址处于公测阶段,如您的实例未自动生成“IPv6连接地址”,请联系客服申请免费开通。<DB_PORT> 待连接实例的端口,一般默认为8635,具体请以实际端口为准。
获取实例端口的方法如下:在“实例管理”页面,单击实例名称,进入“基本信息”页面,在“网络信息> 数据库端口”处获取当前实例的端口信息。<DB_PWD> 创建GeminiDB Redis实例时设置的管理员密码。 -
出现如下信息,说明连接成功。
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地址或域名、端口。
登录弹性云主机,具体操作请参见《弹性云主机快速入门》中“登录弹性云主机”。
使用如下命令,下载并解压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地址或域名、端口。
登录弹性云主机,具体操作请参见《弹性云主机快速入门》中“登录弹性云主机”。
安装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地址或域名、端口。
登录弹性云主机,具体操作请参见《弹性云主机快速入门》中“登录弹性云主机”。
安装PHP开发包与命令行工具。
执行如下命令,使用yum方式直接安装。
yum install php-devel php-common php-cli
说明以CentOS(redhat系列)为例,如果是Ubuntu(debian系列),则需要使用其对应的安装命令。
安装完后可查看版本号,确认成功安装。
php --version
安装Redis的PHP客户端。
- 下载phpredis源文件。
wget http://pecl.php.net/get/redis-4.1.0RC3.tgz
说明以上是当前最新版本,也可以通过PHP官网下载其他版本的phpredis客户端。
- 解压phpredis源文件包。
tar -zxvf redis-4.1.0RC3.tgz
cd redis-4.1.0RC3
- 编译前先执行扩展命令。
phpize
- 配置php-config文件。
./configure --with-php-config=/usr/bin/php-config
说明不同的操作系统,安装PHP的方式不同,该配置文件位置可能不同。建议在配置前,先确认该文件的目录,命令如下:find / -name php.ini。
- 编译和安装phpredis客户端。
make && make install
- 安装完后在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
- 保存退出后确认扩展生效。
php -m |grep redis
如果以上命令返回了redis,表示php redis客户端环境搭建好了。
使用phpredis客户端连接GeminiDB Redis实例。
-
编写测试代码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(); ?>
-
执行redis.php,确认结果正常。
通过Python连接实例
主要介绍使用Python访问GeminiDB Redis实例的方法。
前提条件
- 已成功创建GeminiDB Redis实例,且实例状态为“正常”。
- 已创建弹性云主机,创建弹性云主机的方法,请参见《弹性云主机快速入门》中“登录弹性云主机”章节。
操作步骤
1、获取GeminiDB Redis实例的内网IP地址或域名、端口。
登录弹性云主机,具体操作请参见《弹性云主机快速入门》中“登录弹性云主机”。
安装Python和Redis的Python客户端Redis-py。
- 如果系统没有自带Python,可以使用yum方式安装。
yum install python
- 下载并解压redis-py。
wget https://github.com/andymccurdy/redis-py/archive/master.zip;
- 进入到解压目录后安装Redis的Python客户端Redis-py。
python setup.py install
- 安装后执行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脚本中再执行):
- 执行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
>>>
- 在命令行中执行以下命令,确认结果正常。
>>> 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地址或域名、端口。
登录弹性云主机,具体操作请参见《弹性云主机快速入门》中“登录弹性云主机”。
使用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地址和密码,请根据实际情况填写。