使用 Redis

在后端服务中使用 Redis 及其 API。系统支持 Redis 的单例模式。推荐建立一个独立的租户来安装和部署 Redis。

Redis 配置

在中间件管理中,新增 Redis 实例

  • 新建分组

用 system 账户登录控制台,打开“中间件管理-中间件系统管理-Redis 实例管理”功能

图 0

可以新建分组,分组中可以设置不同的标签,标签就是分组 Hash,在架构图中可配置使用指定的分组标签;如不配置,则使用默认的 defaultKind:normal 分组标签。

图 1

  • 新建实例

在分组中可以新建实例,一个实例就是一台 Redis 服务器,可以新建多个实例供多租户多应用使用;每个租户和应用使用时,系统会自动分配实例供其使用,开发者无需配置

图 2

新建时输入实例数量,选择部署的租户和集群

图 3

在创建实例时,点击“选择应用模板”选择“redis 服务”

图 4

使用 Redis

在架构中添加 Redis 组件,新增 Redis 驱动 Maven 依赖,实现 Redis 相关能力

在架构中添加 Redis 组件

在架构中,从市场添加 Redis 组件,将组件拖拽到架构图中,如下图所示

图 5

将主服务连接到 Redis 组件,在“服务实例规格选择器”栏中,录入配置好的分组标签,如不录入,则使用默认的 defaultKind:normal 分组

图 6

设置依赖

在服务中设置依赖,安装 Redis 的 Java 驱动,如下图所示

图 7

在“组名称”中输入 Redis.clients,在“名称”中输入 jedis,在“版本号”中输入3.7.1,如下图所示

图 8

开发工具类

开发工具类,连接 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);        
        }
    }  
}

调用工具类

定义服务及请求,如下图所示

图 9

在业务服务中调用工具类,示例代码如下

import main.common.RedisHelper;

public String getRedisVal(String key) throws Exception {
    RedisHelper.setRedisVal(key,DateUtil.now());
    return RedisHelper.getRedisVal(key);    
}

运行效果如下图所示

图 10

案例位置

桌面-页面-数据集-后端数据服务.w

results matching ""

    No results matching ""