检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
/huaweicloud/devcloud-go/redis" ) var ( DevSporeClient *redis.DevsporeClient // redis 客户端 ) func init() { DevSporeClient = redis.NewDevsporeClient
Jedis、Lettuce Jedis是一个流行的Java客户端库,用于与Redis数据库进行交互。 Lettuce 是一个可伸缩线程安全的Redis客户端,多个线程可以共享同一个 RedisConnection。 直接替换客户端命令参考如下。
single-read-write(单边读写) local-read-single-write(本地读单边写) local-read-async-double-write(本地读异步双写) single-read-async-double-write(单边读异步双写) 父主题: MAS-Redis-SDK
安装Maven MAS-Redis-SDK使用Maven获取项目版本。Maven版本要求:3.3.0及以上版本。 安装和配置IntelliJ IDEA 用于开发程序的工具。IntelliJ IDEA版本要求:15.0及以上版本。 父主题: 约束
DcsConnetion命令参考 DcsConnection已实现部分RedisConnection的接口。 用户有需要时可以继承重写此类方法。
redis 是 RedisConfiguration 请参考RedisConfiguration数据结构说明。 RedisServer配置。
客户各场景替换方案 Jedis、Lettuce spring-boot-data-redis ShedLock Redisson Lock 自定义DcsConnection 父主题: MAS-Redis-SDK使用手册
概述 开发简介 开发流程 父主题: MAS-Redis-SDK使用手册
按需引入DevsporeClient客户端 在需要使用DevsporeClient客户端的地方引入并执行Redis操作。 父主题: 概述
命令参考 Redis命令参考 pipeline功能使用示例 DcsConnetion命令参考 RedisTemplate命令与DcsConnection接口对应关系 父主题: MAS-Redis-SDK使用手册
概述 开发简介 开发流程 父主题: Redis
写操作: 内存双写:同步路由到近端Redis,同时异步发送到远端Redis。 文件双写:同步路由到近端Redis,同时异步写文件,定时扫描发送至远端Redis。 父主题: Redis
import com.huawei.devspore.mas.redis.core.MultiZoneClient; import com.huawei.devspore.mas.redis.spring.boot.cache.DcsConnectionFactory; import
参数配置说明 local-read-async-double-write配置示例: devspore: dcs: props: version: v1 app-id: xxxx monitor-id: xxxx cloud
自定义DcsConnection 使用场景:使用RedisTemplate命令时,DcsConnection中的接口没有覆盖到的情况,可以自定义扩展DcsConnection。 自定义DcsConnection。 type选择为normal时使用。
single-read-write(单边读写) single-read-write场景具有以下两个特点: 读操作:同步路由到指定active的Redis;写操作:同步路由到指定active的Redis。 支持MAS动态切换激活数据源。 父主题: 使用场景
分布式锁场景最佳实践 分布式锁场景需根据所选取的路由模式来选择合适的策略。 路由模式为single-read-write, single-read-async-double-write时 由于读写都在同一边,分布式锁不受影响。
读操作:同步路由到近端Redis。 写操作:同步路由到近端Redis,同时异步发送到远端Redis。 此场景下Redis之间会相互同步,两个Redis位置等同没有主备之分,切换不会产生影响。 当不同实例内SDK操作同一个Redis key时,不能保证两个Redis的一致性。
local-read-single-write(本地读单边写) 本地读单边写,适用于读多写少场景,读流量很大,对一致性不敏感的场景: 对于用户,不感知多个Redis。 对于SDK 读操作:同步路由到local Redis。 写操作:同步路由到active Redis。
pipeline功能使用示例 pipeline功能使用: 需要返回值示例: @Autowired private MultiZoneClient client; public void Demo() { client.executePipeline(pipeline ->