首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Dart HttpServer缓存

Dart HttpServer缓存
EN

Stack Overflow用户
提问于 2014-06-18 21:24:33
回答 1查看 342关注 0票数 0

我有Http服务器从不同的服务器加载数据(通过HttpClient)。你可以在这里看到代码:Dart HTTP server and Futures

我能够加载对JSON映射的响应,现在我希望将这个映射保存在内存中,直到它失效(我可以更快地获得整个映射集的更改信息)。将JSON映射保存到内存对象中并在需要刷新之前从内存中检索它的最佳方法是什么?

EN

回答 1

Stack Overflow用户

发布于 2014-06-19 01:31:55

已在上面的注释中解决。摘要:如果您需要在非常简单的“缓存”场景中保留值,您可以复制对象并通过复制新值来使其无效。

代码语言:javascript
复制
main() {
  Map cachedMap = new Map();
  var lastCached = new DateTime.now();
  final Duration cacheDuration = new Duration(minutes: 10);
  HttpServer.bind(InternetAddress.ANY_IP_V4, 4040).then((HttpServer server) {
    print('listening on localhost, port ${server.port}');
    server.listen((HttpRequest request) {
      var now = new DateTime.now();
      if (lastCached.add(cacheDuration).isAfter(now) && cachedMap.isNotEmpty) {
        handleMap(request, cachedMap);
      } else {
//do something to fill map
      }
      ;

    });
  }).catchError((e) => print(e.toString()));
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24286779

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档