有没有办法缓存从 IBM MobileFirst Platform 中的 http 适配器接收到的响应?
从缓存中获取常用服务的数据而不是一次又一次地访问服务会更有效。即使是适配器(服务器)端缓存也会大大减少响应时间。
有没有办法在 IBM MobileFirst 中实现这一点?
有没有办法缓存从 IBM MobileFirst Platform 中的 http 适配器接收到的响应?
从缓存中获取常用服务的数据而不是一次又一次地访问服务会更有效。即使是适配器(服务器)端缓存也会大大减少响应时间。
有没有办法在 IBM MobileFirst 中实现这一点?
没有缓存适配器响应的内置机制。
也许这会给你一种方法:使用 Java 来“管理”缓存。您需要实现以下逻辑:
如果使用 JavaScript 适配器,您可以调用 Java 代码
如果使用Java 适配器(从 MobileFirst Platform Foundation 7.0 开始),请在此处实现它...
也许您也可以使用 CDN,您需要在其中存储数据并在您的逻辑中决定何时访问 CDN,何时不访问。
为了扩展 Idan 的答案,没有内置的方法可以做到这一点。一些类似这样的代码可能会有所帮助(将其放在 Java 类中并从 JavaScript 适配器中使用) - 这是未经测试的:
import java.util.HashMap;
public class MFPCache {
HashMap<String, String> cacheStore = new HashMap<String, String>();
private static MFPCache objectCache = new MFPCache();
private static MFPCache getCache() {
return objectCache;
}
public static Object getObject(String key) {
String value = getCache().cacheStore.get(key);
return value;
}
public static void setObject(String key, String value, long duration) {
getCache().cacheStore.put(key, value);
}
}
请注意,此答案不处理:
将其留给其他人修复并将其编辑为答案!