【问题标题】:Angularjs: date expiration for $cacheFactoryAngularjs:$cacheFactory 的日期到期
【发布时间】:2013-03-27 10:39:04
【问题描述】:

我已经在我的应用程序中使用 $cacheFactory 添加了缓存,但是当用户关闭浏览器然后重新打开时,有关浏览产品的缓存数据已过期。

有没有办法让它变长?写一个到期日期或类似的东西?

谢谢。

编辑:我可能不得不使用Breeze.js,但在此之前我想知道你们中是否有人知道是否可以使用 angularjs 来做到这一点(我阅读了 API 并在那里没有关于它的信息:S)。

编辑 2: 帮忙,我使用 $cacheFactory 的方式是这样的JSFiddle code

factory('SomeCache', function($cacheFactory) {
    return $cacheFactory('someCache', {
        capacity: 3 // optional - turns the cache into LRU cache
    });
}).

编辑 3:Lawnchair 不是一个选项,它存储在一个 javascript 数组中,并且在关闭浏览器后不会保留数据。..

【问题讨论】:

    标签: caching angularjs browser-cache


    【解决方案1】:

    $cacheFactory 使用内存中的浏览器存储,这意味着即使页面刷新它也不会持续存在,更不用说关闭和重新打开浏览器了。

    如果您想跨页面加载和浏览器会话缓存数据,您正在寻找 localStorage。请参阅此处以获取一个非常简单的示例:

    http://jsbin.com/acokis/2/edit

    我想你会想看看amplify.jslawnchair.js,因为它们为管理 localStorage 提供了很好的包装器,还为不支持 localStorage 的浏览器提供了后备适配器(后备选项不会在页面中持续存在不过会刷新)。

    【讨论】:

    • 对于商店信息,也许草坪椅可以满足我的需要,微风似乎更先进,也许对于我们所需要的来说太多了......谢谢!
    • 更新了我的答案。 localStorage 在您关闭浏览器后仍然存在 如果 浏览器支持它。像 Lawnchair/Amplify 这样的库让使用 localStorage 变得更加容易。
    猜你喜欢
    • 2015-11-03
    • 2018-03-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多