
# 对接Redis实现对象数据缓存能力
通过应用与Redis对接，实现数据缓存能力。执行对接操作前，请提前获取Redis提供服务的URL地址和登录密码，如何获取请参见[查看和修改DCS实例基本信息](https://support.huaweicloud.com/usermanual-dcs/dcs-ug-0312016.html)。
#### 费用说明
应用对接Redis连接器后，DCS服务需要单独付费，具体收费标准请参见[华为云定价](https://www.huaweicloud.com/pricing/index.html)。**应用停用后，DCS服务仍将按照既定的计费规则继续计费。如果不再使用该服务，请按照[停止计费](https://support.huaweicloud.com/price-dcs/dcs_04_0017.html)中操作及时退订实例，避免产生额外的费用。**
#### 新建Redis连接器
1. 参考[登录华为云Astro轻应用应用设计器](https://support.huaweicloud.com/usermanual-astrozero/astrozero_05_9004.html)中操作，进入应用设计器。
2. 在左侧导航栏中，选择"集成"。
3. 单击"连接器"中的" 连接器实例"，进入连接器实例页面。
4. 在左侧导航栏中，选择"数据 \> Redis"。
5. 在右侧页面单击"+"，设置Redis对接参数。 
   图1创建Redis   
   ![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001988461852.png "点击放大")
   表1创建Redis连接器参数说明 
   | 参数     | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
   |:---|:---|
   | 名称     | 新建连接器的名称。命名要求如下： - 长度不能超过64个字符，包括前缀命名空间的长度。 名称前的内容为命名空间，在华为云Astro轻应用中为了避免不同租户间数据的重名，租户在首次创建应用时需要先定义一个命名空间。一个租户只能创建一个命名空间，创建后不支持修改。   - 必须以英文字母开头，只能由英文字母、数字或单下划线组成，且不能以下划线结尾。   |
   | 地址     | Redis提供服务的URL地址。每个地址占一行（如[图1]），集群模式下至少填写两个地址。                                                                                                                                                                                                                                                                                                                                                                                |
   | 密码     | 连接Redis的密码。                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
   | 打包当前配置 | 选中该选项后，应用打包时会将当前配置的连接器信息一并打出。例如，如果应用包发布到运行环境，当前配置默认会被同步到运行环境中。如果不勾选，则内容不会打包发布到运行环境，此时需要您参考[管理应用中的连接器](https://support.huaweicloud.com/usermanual-astrozero/astrozero_06_2020.html)，创建对应的连接器。 默认为选中，对信息敏感的场景，建议不勾选。                                                                                                                                                                                                               |
      
   
   
6. 设置完成后，单击"保存"。
 
#### 在脚本中调用连接器
在脚本中调用连接器，实现与Redis的对接。
1. 参考[创建空白华为云Astro轻应用脚本](https://support.huaweicloud.com/usermanual-astrozero/astrozero_05_9162.html)中操作，创建一个空白脚本。
2. 在脚本编辑器中，输入如下代码，实现一个Redis的读写操作，并记录日志。 
   ```
   import * as redis from 'redis';
   try {
       let cli = redis.newClient("命名空间__Redis1");
       // cli.set("A", "B", 0);
       console.log(cli.get("A"));
       console.log(cli.set("some_non_exist_key", "1", 0));
       console.log(cli.get("some_non_exist_key"));
       console.log(cli.set("some_non_exist_key", "2", 0));
       console.log(cli.get("some_non_exist_key"));
   } catch (e) {
       console.log(e.message);
   }
   ```
   其中，redis.newClient("*命名空间* *__Redis1* ")中"*命名空间__Redis1*"为连接器的名称。
   
   
3. 单击脚本编辑器页面上方的![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001894299520.png)，保存脚本。
4. 保存成功后，单击![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001894139624.png)，运行脚本。
5. 不用设置输入参数，直接单击测试窗口右上角的![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001894299532.png)。
6. 在日志页签，可查看到已刷新了Redis中数据。 
   ```
   0829 14:09:10.889|debug|vm[7]>>> AstroZero 1.2.8 - Production on 2019-08-28 14:28:06 1e6786b57891a6512b6922bf02cc90ad972a4e9a debug (<unknown>.ts:0)
   0829 14:09:10.889|debug|vm[7]>>> script: 命名空间__testsingleredis 1.0.1  (<unknown>.ts:0)
   0829 14:09:10.889|debug|vm[7]>>> locale: zh_CN (<unknown>.ts:0)
   0829 14:09:10.889|debug|vm[7]>>> timezone: (GMT+08:00) China Standard Time (Asia/A) (<unknown>.ts:0)
   0829 14:09:10.897|debug|vm[7]>>> undefined (命名空间__testsingleredis.ts:6)
   0829 14:09:10.898|debug|vm[7]>>> true (命名空间__testsingleredis.ts:7)
   0829 14:09:10.899|debug|vm[7]>>> 1 (命名空间__testsingleredis.ts:8)
   0829 14:09:10.901|debug|vm[7]>>> true (命名空间__testsingleredis.ts:9)
   0829 14:09:10.902|debug|vm[7]>>> 2 (命名空间__testsingleredis.ts:10)
   ```
   
   
 
