Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 22 additions & 0 deletions ThunderSoft_redisapi/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# unitApi
libraryDemo_redis针对于redis数据存储进行一些列的操作


## 逻辑详情

###
setvalue
getValue


## 使用步骤说明

1. 应用引用依赖库
2. 配置应用配置参数 (无需配置)
3. 逻辑调用示例截图

参考文档

## 应用演示链接

[使用了本依赖库的制品应用链接]
Binary file not shown.
90 changes: 90 additions & 0 deletions ThunderSoft_redisapi/pom.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.netease</groupId>
<artifactId>redisapi</artifactId>
<version>1.0.0</version>
<name>redis工具类</name>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.2.9.RELEASE</version><!--与当前制品应用默认版本统一-->
</parent>

<properties>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<nasl.ide.version>3.3</nasl.ide.version>
</properties>
<dependencies>
<!--本案例是本地系统引入nasl-metadata-collector-0.7.0.jar的方式。
若把nasl-metadata-collector-0.7.0.jar安装到自己的maven仓库,
注意修改artifactId和groupId的情况下,不要使用<scope>system</scope>,会在发布时造成依赖中断。
不修改artifactId和groupId的情况下,nasl-metadata-maven-plugin会做特殊处理-->
<dependency>
<artifactId>nasl-metadata-collector</artifactId>
<groupId>com.netease.lowcode</groupId>
<version>0.7.0</version>
<optional>true</optional>
<scope>system</scope>
<systemPath>${project.basedir}/lib/nasl-metadata-collector-0.7.0.jar</systemPath>
</dependency>
<!--制品应用使用Springboot框架,父应用引用了的包,为了防止版本冲突,scope可设置为provided-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>3.3.0</version>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
<appendAssemblyId>false</appendAssemblyId>
</configuration>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>com.netease.lowcode</groupId>
<artifactId>nasl-metadata-maven-plugin</artifactId>
<version>1.3.0</version>
<configuration>
<jarWithDependencies>true</jarWithDependencies>
</configuration>
<executions>
<execution>
<goals>
<goal>archive</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
Binary file added ThunderSoft_redisapi/redis工具依赖包.docx
Binary file not shown.
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
package com.netease.lib.redistemplatetool;

/**
* 依赖库自动扫描类
* @author system
*/
public class LibraryAutoScan {
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,101 @@
package com.netease.lib.redistemplatetool.config;

import com.netease.lowcode.core.annotation.NaslConfiguration;
import org.springframework.context.annotation.Configuration;


@Configuration
public class RedisConfig {
/**
* redis 地址。redis模式多选一,按需配置。无用的配置可空
*/
@NaslConfiguration
public String redisHost;
/**
* redis 端口
*/
@NaslConfiguration
public String redisPort;

/**
* redis密码
*/
@NaslConfiguration
public String redisPassword;
/**
* redis sentinel 主节点
*/
@NaslConfiguration
public String redisSentinelMaster;
/**
* redis sentinel 节点
*/
@NaslConfiguration
public String redisSentinelNodes;
/**
* redis哨兵密码
*/
@NaslConfiguration
private String redisSentinelPassword;
/**
* redis cluster 节点
*/
@NaslConfiguration
public String redisClusterNodes;
/**
* redis slave 地址
*/
@NaslConfiguration
public String redisSlaveHost;
/**
* redis slave 端口
*/
@NaslConfiguration
public String redisSlavePort;
/**
* Redis 数据库索引
*/
@NaslConfiguration
private String redisDatabase;

/**
* 连接超时时间,默认为 0,单位为毫秒。
*/
@NaslConfiguration
private String springRedisTimeout;
/**
* 是否启用 SSL 连接,默认为 false。
*/
@NaslConfiguration
private String springRedisSsl;
/**
* 连接池最大连接数。
*/
@NaslConfiguration
private String springRedisLettucePoolMaxActive;
/**
* 连接池中的最大空闲连接。
*/
@NaslConfiguration
private String springRedisLettucePoolMaxIdle;
/**
* 连接池中的最小空闲连接。
*/
@NaslConfiguration
private String springRedisLettucePoolMinIdle;
/**
* 执行命令的超时时间,默认为 3 秒。
*/
@NaslConfiguration
private String springRedisLettuceCommandTimeout;
/**
* 关闭连接时的超时时间,默认为 100 毫秒。
*/
@NaslConfiguration
private String springRedisLettuceShutdownTimeout;
/**
* 设置客户端名称。
*/
@NaslConfiguration
private String springRedisLettuceClientName;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
package com.netease.lib.redistemplatetool.spring;

import com.netease.lib.redistemplatetool.LibraryAutoScan;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;

/**
* 加入spring环境配置(在spring.factories中指定)
*/
@Configuration
@ComponentScan(basePackageClasses = LibraryAutoScan.class)
public class LibDemoRedisSpringEnvironmentConfiguration {
public LibDemoRedisSpringEnvironmentConfiguration() {
System.out.println("LibDemoRedisSpringEnvironmentConfiguration");
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
package com.netease.lib.redistemplatetool.util;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.env.EnvironmentPostProcessor;
import org.springframework.core.annotation.Order;
import org.springframework.core.env.ConfigurableEnvironment;
import org.springframework.core.env.MapPropertySource;
import org.springframework.util.StringUtils;

import java.util.HashMap;
import java.util.Map;

@Order
public class LibDemoRedisEnvironmentMapperPostProcessor implements EnvironmentPostProcessor {
private static final Map<String, String> REDIS_CONFIG_MAPPER = new HashMap<>();

//File文件类型 数据权限
static {
REDIS_CONFIG_MAPPER.put("extensions.redisapi.custom.redisHost", "spring.redis.host");
REDIS_CONFIG_MAPPER.put("extensions.redisapi.custom.redisPort", "spring.redis.port");
REDIS_CONFIG_MAPPER.put("extensions.redisapi.custom.redisDatabase", "spring.redis.database");
REDIS_CONFIG_MAPPER.put("extensions.redisapi.custom.redisPassword", "spring.redis.password");
REDIS_CONFIG_MAPPER.put("extensions.redisapi.custom.redisSentinelMaster", "spring.redis.sentinel.master");
REDIS_CONFIG_MAPPER.put("extensions.redisapi.custom.redisSentinelNodes", "spring.redis.sentinel.nodes");
REDIS_CONFIG_MAPPER.put("extensions.redisapi.custom.redisClusterNodes", "spring.redis.cluster.nodes");
REDIS_CONFIG_MAPPER.put("extensions.redisapi.custom.redisSlaveHost", "spring.redis.slave.host");
REDIS_CONFIG_MAPPER.put("extensions.redisapi.custom.redisSlavePort", "spring.redis.slave.port");
REDIS_CONFIG_MAPPER.put("extensions.redisapi.custom.redisSentinelPassword", "spring.redis.sentinel.password");
REDIS_CONFIG_MAPPER.put("extensions.redisapi.custom.springRedisTimeout", "spring.redis.timeout");
REDIS_CONFIG_MAPPER.put("extensions.redisapi.custom.springRedisSsl", "spring.redis.ssl");
REDIS_CONFIG_MAPPER.put("extensions.redisapi.custom.springRedisLettucePoolMaxActive", "spring.redis.lettuce.pool.max-active");
REDIS_CONFIG_MAPPER.put("extensions.redisapi.custom.springRedisLettucePoolMaxIdle", "spring.redis.lettuce.pool.max-idle");
REDIS_CONFIG_MAPPER.put("extensions.redisapi.custom.springRedisLettucePoolMinIdle", "spring.redis.lettuce.pool.min-idle");
REDIS_CONFIG_MAPPER.put("extensions.redisapi.custom.springRedisLettuceCommandTimeout", "spring.redis.lettuce.command-timeout");
REDIS_CONFIG_MAPPER.put("extensions.redisapi.custom.springRedisLettuceShutdownTimeout", "spring.redis.lettuce.shutdown-timeout");
REDIS_CONFIG_MAPPER.put("extensions.redisapi.custom.springRedisLettuceClientName", "spring.redis.lettuce.client-name");
}

/**
* Post-process the given {@code environment}.
*
* @param environment the environment to post-process
* @param application the application to which the environment belongs
*/
@Override
public void postProcessEnvironment(ConfigurableEnvironment environment, SpringApplication application) {
Map<String, Object> mapperProperties = new HashMap<>();
REDIS_CONFIG_MAPPER.forEach((key, value) -> {
if (environment.containsProperty(value)) {
return;
}
if (environment.containsProperty(key)) {
String property = environment.getProperty(key);
if (!StringUtils.isEmpty(property)) {
mapperProperties.put(value, property);
}
}
});

if (mapperProperties.isEmpty()) {
return;
}
environment.getPropertySources().addLast(new MapPropertySource("REDIS_CONFIG_MAPPER", mapperProperties));
}

}
Loading