Appearance
redis 使用手册
一、产品概述
1.1)产品简介 云数据库Redis版,是兼容开源Redis协议标准的数据库服务,基于双机热备架构及集群架构,可满足高吞吐、低延迟及弹性变配等业务需求。支持String(字符串)、List(链表)、Set(集合)、Sorted Set(有序集合)、Hash(哈希表)、Stream(流数据)等多种数据结构,同时支持Transaction(事务)、Pub/Sub(消息订阅与发布)等高级功能。
1.2)实例类型
版本类型 | 简介 |
---|---|
云数据库Redis社区版 | 兼容开源Redis的高性能内存数据库产品,支持主从双副本、集群、等架构。 |
1.3)架构类型 云数据库Redis版支持灵活的多种部署架构,能够满足不同的业务场景
1.4)实例规格 云数据库Redis社区版有多种规格,详细信息请参见:
二、REDIS实例管理
2.1 实例部署
2.1.1)进入redis控制台,点击实例部署,填写相关参数,然后进行提交; 说明: 环境选择:默认-生产代表生产环境,默认-测试代表测试环境;根据租户后续需求提供可用区选项; 架构类型: 集群版:分片集群架构,直连访问,需要redis 集群客户端访问,双机热备架构,提供数据可靠性; 单机版:单副本缓存,只有一个单节点,不承诺数据可靠性保障; redis版本:提供5.0和6.0选择; 实例规格:实例部署的VM的配置信息;
2.1.2)部署需求提交后,控制台界面生产一个实例,状态为创建中;
2.1.3)等待2-3分钟后,状态变成运行中,redis实例集群版部署完毕并正常运行;
2.2)连接信息 集群版redis实例的连接信息;
2.3)REDIS实例详情 3副本集群的详细分片、状态等信息,可以进行停止和重启操作。
2.4)REDIS实例监控 2.4.1)点击对应redis实例后面的监控按钮,可以查看对应实例的监控信息;
2.5)REDIS实例回收 2.5.1)点击redis实例后面的实例回收按钮,可以对redis实例进行回收;
三、REDIS连接示例
3.1) 连接方式 您可以通过程序客户端、redis-cli等多种方式连接Redis实例,以下提供两种方式连接示例,连接方式如下:
3.2) 案例1:开源的格式类型,例如您设置的密码是abcd1234,则连接命令如下: redis-cli -h IP地址 -p 端口 -a abcd1234
或 redis-cli -h IP地址 -p 端口
3.3)案例2:redis cluste客户端程序:
jedis 官方推荐的开源客户端
- 版本支持
- Jedis 2.9.x:与Redis 2.8.x兼容。
- Jedis 3.0.x:与Redis 3.0.x兼容。
- Jedis 3.1.x:与Redis 3.2.x兼容。
- Jedis 3.2.x:与Redis 4.0.x兼容。
- Jedis 3.3.x:与Redis 5.0.x兼容。
- Jedis 3.9.x:与Redis 5.0.x - 6.2.x兼容。
- Jedis >= 4.0:与Redis 5.0.x ++ 兼容。 暂时无法在飞书文档外展示此内容
- 连接不同Redis服务端 连接集群模式和连接单节点模式,需要业务修改代码
- cluster例子
import redis.clients.jedis.HostAndPort; import redis.clients.jedis.JedisCluster; import redis.clients.jedis.JedisPoolConfig;
import java.util.HashSet; import java.util.Set;
public class JedisClusterExample { public static void main(String[] args) { // 创建JedisPoolConfig实例 JedisPoolConfig poolConfig = new JedisPoolConfig(); // 配置连接池参数(例如最大连接数、最大空闲连接数等)
// 创建JedisCluster节点集合
Set<HostAndPort> nodes = new HashSet<>();
nodes.add(new HostAndPort("localhost", 7000));
nodes.add(new HostAndPort("localhost", 7001));
nodes.add(new HostAndPort("localhost", 7002));
// 创建JedisCluster实例
JedisCluster jedisCluster = new JedisCluster(nodes, poolConfig);
// 执行Redis Cluster命令
jedisCluster.set("key", "value");
String value = jedisCluster.get("key");
System.out.println(value);
// 关闭JedisCluster连接
jedisCluster.close();
}
}
3.4)单节点例子 import redis.clients.jedis.Jedis;
public class JedisExample { public static void main(String[] args) { // 创建Jedis实例,连接到Redis服务器 Jedis jedis = new Jedis("localhost", 6379);
// 执行Redis命令
jedis.set("key", "value");
String value = jedis.get("key");
System.out.println(value);
// 关闭Jedis连接
jedis.close();
}
}
3.5)其他常用的客户端
- Lettuce
- Redisson
- SpringDataRedis SpringDataRedis 是更高级别的抽象,支持上述几种java客户端,使用SpringDataRedis 连接集群或是单节点Redis只需要修改配置文件即可 使用 客户端 Spring data redis
- 连接redis集群
- 连接单节点集群
- 使用默认的lettuce客户端
- 对 redis 进行 set,get操作
注意事项:
客户端配置动态拓扑更新 无论是5.0,还是6.0集群,都需要客户端开启动态拓扑更新 spring.redis.lettuce.cluster.refresh.period=3000ms spring.redis.lettuce.cluster.refresh.adaptive=true 开启动态更新后,客户端不会一直报错,影响的时间段就是动态更新的时间间隔