使用 Redis
在后端服务中使用 Redis 及其 API。系统支持 Redis 的单例模式。推荐建立一个独立的租户来安装和部署 Redis。
Redis 配置
在中间件管理中,新增 Redis 实例
- 新建分组
用 system 账户登录控制台,打开“中间件管理-中间件系统管理-Redis 实例管理”功能
可以新建分组,分组中可以设置不同的标签,标签就是分组 Hash,在架构图中可配置使用指定的分组标签;如不配置,则使用默认的 defaultKind:normal 分组标签。
- 新建实例
在分组中可以新建实例,一个实例就是一台 Redis 服务器,可以新建多个实例供多租户多应用使用;每个租户和应用使用时,系统会自动分配实例供其使用,开发者无需配置
新建时输入实例数量,选择部署的租户和集群
在创建实例时,点击“选择应用模板”选择“redis 服务”
使用 Redis
在架构中添加 Redis 组件,新增 Redis 驱动 Maven 依赖,实现 Redis 相关能力
在架构中添加 Redis 组件
在架构中,从市场添加 Redis 组件,将组件拖拽到架构图中,如下图所示
将主服务连接到 Redis 组件,在“服务实例规格选择器”栏中,录入配置好的分组标签,如不录入,则使用默认的 defaultKind:normal 分组
设置依赖
在服务中设置依赖,安装 Redis 的 Java 驱动,如下图所示
在“组名称”中输入 Redis.clients,在“名称”中输入 jedis,在“版本号”中输入3.7.1,如下图所示
开发工具类
开发工具类,连接 Redis,提供 get 和 set 方法,示例代码如下
package main.common;
import com.justep.util.ContextUtil;
import redis.clients.jedis.Jedis;
public class RedisHelper {
public static Jedis getRedisClient() {
String address = ContextUtil.getEnv("COMP_REDIS_REDISSERVICEADDRESS");
String auth = ContextUtil.getEnv("COMP_REDIS_REDISAUTH");
String host = address.substring(0, address.indexOf(":"));
String port = address.substring(address.indexOf(":") + 1);
String password = auth.substring(auth.indexOf("=") + 1);
Jedis jedis = new Jedis(host, Integer.parseInt(port));
jedis.auth(password);
return jedis;
}
public static String getRedisVal(String key) throws Exception {
try (Jedis jedis = RedisHelper.getRedisClient()) {
return jedis.get(key);
}
}
public static void setRedisVal(String key,String json) throws Exception {
try (Jedis jedis = RedisHelper.getRedisClient()) {
jedis.set(key, json);
}
}
}
调用工具类
定义服务及请求,如下图所示
在业务服务中调用工具类,示例代码如下
import main.common.RedisHelper;
public String getRedisVal(String key) throws Exception {
RedisHelper.setRedisVal(key,DateUtil.now());
return RedisHelper.getRedisVal(key);
}
运行效果如下图所示
案例位置
桌面-页面-数据集-后端数据服务.w