Skip to content

Commit c0c93e9

Browse files
authored
Add files via upload
1 parent d9438b3 commit c0c93e9

8 files changed

Lines changed: 1137 additions & 1 deletion

File tree

README.md

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,12 @@
1-
# fizz-simple-cache-plugin
1+
# 简易缓存(SimpleCache)
2+
3+
## 功能说明
4+
1. 本插件根据请求地址与请求参数,缓存目标接口的返回结果。
5+
6+
2. 本插件默认采用机器内存作为缓存媒介,以求达到性能最优之目的,适用于单机部署。
7+
8+
3. 本插件也可以使用 Redis 作为缓存媒介,需要配置相应的参数,适用于分布式部署。
9+
10+
4. 本插件可配置无效数据(非业务数据),如:多个用户使用同一个缓存。
11+
12+
5. 本插件可配置缓存有效期,缓存内容长度,缓存容量与清理间隔(本地缓存)。
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
package we.plugin.pathcache;
2+
3+
import java.util.ArrayList;
4+
import java.util.Collections;
5+
import java.util.List;
6+
7+
import org.springframework.context.annotation.Configuration;
8+
9+
import we.config.ManualApiConfig;
10+
import we.plugin.PluginConfig;
11+
import we.plugin.auth.ApiConfig;
12+
import we.plugin.requestbody.RequestBodyPlugin;
13+
14+
/**
15+
* 定义 DemoApiConfig 继承 ManualApiConfig,并注解为 Configuration,然后实现 setApiConfigs
16+
* 方法,在方法中添加路由配置; 本类仅为方便开发和测试,正式环境应该通过管理后台配置路由
17+
*/
18+
@Configuration
19+
public class PathCacheConfig extends ManualApiConfig {
20+
21+
@Override
22+
public List<ApiConfig> setApiConfigs() {
23+
24+
List<ApiConfig> apiConfigs = new ArrayList<>();
25+
26+
// 一个路由配置
27+
ApiConfig ac = new ApiConfig();
28+
// 路由 id,建议从 1000 开始
29+
ac.id = 1000;
30+
// 前端服务名
31+
ac.service = "cache";
32+
// 前端路径
33+
ac.path = "/test";
34+
// 路由类型,此处为反向代理
35+
ac.type = ApiConfig.Type.REVERSE_PROXY;
36+
// 被代理接口的地址
37+
ac.httpHostPorts = Collections.singletonList("http://10.100.113.28:9090");
38+
// 被代理接口的路径
39+
ac.backendPath = "/web/check";
40+
ac.pluginConfigs = new ArrayList<>();
41+
42+
// 如果你的插件需要访问请求体,则首先要把 RequestBodyPlugin.REQUEST_BODY_PLUGIN 加到 ac.pluginConfigs
43+
// 中,就像下面这样
44+
PluginConfig pc1 = new PluginConfig();
45+
pc1.plugin = RequestBodyPlugin.REQUEST_BODY_PLUGIN;
46+
ac.pluginConfigs.add(pc1);
47+
48+
PluginConfig pc2 = new PluginConfig();
49+
pc2.plugin = PathCacheFilter.PATH_CACHE_ID; // 应用 id 为 demoPlugin 的插件
50+
ac.pluginConfigs.add(pc2);
51+
52+
apiConfigs.add(ac);
53+
54+
log.info("set api configs end");
55+
return apiConfigs; // 返回路由配置
56+
}
57+
}

0 commit comments

Comments
 (0)