检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
命令参考 Redis命令参考 pipeline功能使用示例 DcsConnetion命令参考 RedisTemplate命令与DcsConnection接口对应关系 父主题: MAS-Redis-SDK使用手册
概述 开发简介 开发流程 父主题: Redis
场景下对涉及Redis的服务进行开发,结合样例讲解在开发过程中如何使用。 本文假设您已经具备如下开发能力: 熟悉Go语言,并有Go程序开发经验。 熟悉module开发模式。 熟悉Redis的常用操作。 MAS-GO-SDK-Redis MAS-GO-SDK-Redis是一个在go-redis
内存双写:同步路由到近端Redis,同时异步发送到远端Redis。 文件双写:同步路由到近端Redis,同时异步写文件,定时扫描发送至远端Redis。 父主题: Redis
开发环境的基本配置。版本要求1.14.6及以上。 安装配置Goland Goland使用11.0及以上版本,用于开发程序的工具。 父主题: Redis
通过Maven引入需要的依赖,是使用MAS-Redis-SDK的基础。 添加客户端配置。 通过添加客户端配置,接入MAS-Redis-SDK。 创建MultiZoneClient客户端。 MAS-Redis-SDK提供读取YAML文件创建客户端的方法。 按需引入客户端执行Redis操作。 在需要使用Redis客户端的
客户各场景替换方案 Jedis、Lettuce spring-boot-data-redis ShedLock Redisson Lock 自定义DcsConnection 父主题: MAS-Redis-SDK使用手册
Jedis是一个流行的Java客户端库,用于与Redis数据库进行交互。 Lettuce 是一个可伸缩线程安全的Redis客户端,多个线程可以共享同一个 RedisConnection。 直接替换客户端命令参考如下。 import com.huawei.devspore.mas.redis.adapter.model
com/huaweicloud/devcloud-go/redis" ) var ( DevSporeClient *redis.DevsporeClient // Redis 客户端 ) func init() { DevSporeClient = redis.NewDevsporeClientWithYaml("
le-write(本地读异步双写) single-read-async-double-write(单边读异步双写) 父主题: MAS-Redis-SDK使用手册
ndows 7及以上版本。 安装JDK 开发环境的基本配置。JDK版本要求: 1.8.0_262及以上版本。 安装Maven MAS-Redis-SDK使用Maven获取项目版本。Maven版本要求:3.3.0及以上版本。 安装和配置IntelliJ IDEA 用于开发程序的工具。IntelliJ
DcsConnetion命令参考 DcsConnection已实现部分RedisConnection的接口。 用户有需要时可以继承重写此类方法。 常用命令使用方式参考如下: public Long append(@Nonnull byte[] key, @Nonnull byte[]
一侧,导致分布式锁锁不住。要实现分布式锁必须保证读写在同一侧。 通过setnx等命令实现的情况,需在方法上加注解路由指定读数据源@ReadRoute(from = RedisSource.ACTIVE)。 如使用Redisson分布式锁时需根据激活的数据源创建RedissonClient。
ShedLock ShedLock是一个用于分布式任务调度的开源库。 它提供了一种简单而可靠的方式来确保在分布式环境中只有一个节点执行指定的任务。 对接ShedLock命令参考如下。 import com.huawei.devspore.mas.redis.core.MultiZoneClient;
通过配置客户端信息,引入MAS-GO-SDK-Redis创建DevsporeClient客户端。 支持以代码方式添加配置信息或者从YAML文件读取配置信息。 按需引入DevsporeClient客户端 在需要使用DevsporeClient客户端的地方引入并执行Redis操作。 父主题: 概述
本地读单边写,适用于读多写少场景,读流量很大,对一致性不敏感的场景: 对于用户,不感知多个Redis。 对于SDK 读操作:同步路由到local Redis。 写操作:同步路由到active Redis。 此场景下Redis之间依赖同步服务相互同步。 图1 local-read-single-write部署图
自定义DcsConnection 使用场景:使用RedisTemplate命令时,DcsConnection中的接口没有覆盖到的情况,可以自定义扩展DcsConnection。 自定义DcsConnection。 type选择为normal时使用。 import com.huawei
pipeline功能使用示例 pipeline功能使用: 需要返回值示例: @Autowired private MultiZoneClient client; public void Demo() { client.executePipeline(pipeline ->
single-read-write(单边读写) single-read-write场景具有以下两个特点: 读操作:同步路由到指定active的Redis;写操作:同步路由到指定active的Redis。 支持MAS动态切换激活数据源。 父主题: 使用场景
SDK同步两个Redis,一条写命令会先进行本地Redis的执行,成功后,异步写到远端。 本地读异步双写场景具体操作: 对于用户,不感知多个Redis。 对于SDK。 读操作:同步路由到近端Redis。 写操作:同步路由到近端Redis,同时异步发送到远端Redis。 此场景下R