# Redis 缓存

低代码平台提供了数据缓存功能,基于 Redis 作为缓存存储。可以在函数编排中使用缓存操作,也可以通过java代码来调用。

# 引入依赖

<dependency>
    <groupId>net.bingosoft.fuse.oss</groupId>
    <artifactId>lcdp-services-redis-cache</artifactId>
    <version>${lcdp.version}</version>
</dependency>

# 配置Redis

application.yml中配置Redis连接信息。

spring:
  redis:
    host: changeit
    port: changeit
    password: changeit

# 使用缓存

# 函数编排中使用

在函数编排中,可以使用缓存操作节点,对数据进行缓存操作。

函数编排缓存操作

以下是一个简单的例子,使用缓存操作,对数据进行缓存。

函数编排缓存操作

# Java代码调用

首先,在 WebAutoConfiguration 中注入 RedisTemplate。

@Bean
@ConditionalOnMissingBean
RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory factory) {
    RedisTemplate<String, Object> redisTemplate = new RedisTemplate<>();
    redisTemplate.setKeySerializer(RedisSerializer.string());
    redisTemplate.setValueSerializer(RedisSerializer.json());
    redisTemplate.setHashKeySerializer(RedisSerializer.string());
    redisTemplate.setHashValueSerializer(RedisSerializer.json());
    redisTemplate.setConnectionFactory(new RedisConnectionFactoryProxy(factory));
    redisTemplate.afterPropertiesSet();
    return redisTemplate;
}

在业务代码中,可以通过 RedisTemplate 对数据进行缓存操作。

@Autowired
private RedisTemplate<String, Object> redisTemplate;

public void testSet(String key, Object value) {
    redisTemplate.opsForValue().set(key, value);
}

public Object testGet(String key) {
    return redisTemplate.opsForValue().get(key);
}

public void deleteCache(String key) {
    redisTemplate.delete(key);
}

public boolean hasKey(String key) {
    return redisTemplate.hasKey(key);
}

更多的用法,请参考 RedisTemplate 的 API 文档。

顶部