更新时间:2024-10-23 GMT+08:00
Spring项目接入MAS-Redis-SDK
- 引入依赖。
组件版本version使用最新版本,版本的获取参考MAS-SDK版本。
<dependency> <groupId>com.huaweicloud.devspore</groupId> <artifactId>devspore-dcs</artifactId> <version>${mas.version}</version> </dependency>
- 配置文件示例。
- 配置项详细解释参考配置参数说明。
- 根据是否接入MAS服务,确定是否配置etcd部分。
- 接入MAS服务,etcd配置必填,以及servers部分下Redis源列表与MAS服务中配置的源保持一致。
- 无接入MAS服务,etcd配置无须配置,servers部分下Redis源列表以实际使用为准。
props: version: v1 app-id: xxxx monitor-id: xxxx cloud: xxxx region: xxxxx azs: az1 etcd: address: xxx.xxx.xxx.xxx:xxxx api-version: v3 username: xxxx password: xxxx https-enable: false Redis: nearest: dc1 servers: dc1: hosts: xxx.xxx.xxx.xxx:xxxx password: xxxxxx type: normal cloud: xxxx region: xxxxx azs: az1 pool: max-total: 8 max-idle: 8 min-idle: 8 max-wait-millis: 10000 time-between-eviction-runs-millis: 60000 dc2: hosts: xxx.xxx.xxx.xxx:xxxx password: xxxxxx type: normal cloud: xxxx region: xxxxx azs: az1 pool: max-total: 8 max-idle: 8 min-idle: 8 max-wait-millis: 10000 time-between-eviction-runs-millis: 60000 route-algorithm: local-read-async-double-write
- MAS-Redis-SDK提供了MasRedisConfigurationLoader.load方法,可以读取YAML格式的配置,生成客户端。
@Bean public MultiZoneClient createMultiZoneClient() { File yamlFile = new File(this.getClass().getClassLoader().getResource("devspore-cache.yaml").getFile()); MasRedisConfiguration masRedisConfiguration = MasRedisConfigurationLoader.load(yamlFile); return MultiZoneRedisFactory.createMultiZoneRedis(masRedisConfiguration); }
- 在需要执行Redis操作的地方引入MultiZoneClient,并使用MultiZoneClient执行Redis操作。
举例: @Autowired private MultiZoneClient client; @Override public void set(String key, String value) { client.set(key, value); }
父主题: 接入指南