首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >光环存储-保存数据几秒钟?(应长期保存)

光环存储-保存数据几秒钟?(应长期保存)
EN

Stack Overflow用户
提问于 2016-07-18 10:13:11
回答 1查看 188关注 0票数 0

我正在尝试使用Aura存储工具在客户端存储一些图形数据。要创建存储,我使用:

代码语言:javascript
复制
function getStorage() {
            var storageName = "GraphsData";

            var storage = $A.storageService.getStorage(storageName);

            if (!storage) {
                console.log("creating storage...");

                storage = $A.storageService.initStorage({
                        name: storageName, // name
                        persistent: true, // persistent
                        secure: true, // secure
                        maxSize: 1024*1024*10, // maxSize in bytes
                        defaultExpiration : 60000, // defaultExpiration (seconds)
                        defaultAutoRefreshInterval: 60000, // defaultAutoRefreshInterval (seconds)
                        debugLoggingEnabled: true, // debugLoggingEnabled
                        clearStorageOnInit: false, // clearStorageOnInit
                        version: "1.0" // version
                    });
            }
            console.log("storage: " + storage);

            return storage;
        }

它起作用了,我可以通过执行以下操作来存储一些数据:

代码语言:javascript
复制
storage.set("graphData", data);

并通过以下方式检索数据:

代码语言:javascript
复制
getGraphData : function() {
        var storage = getStorage();
            return storage.get("graphData").then( function(data) { 
                if (data) {
                    var promise = new Promise(function(resolve, reject) {
                        resolve(data);
                    });
                    return promise;
                }
                else
                {
                     .....

但是在8-10秒之后,当我再次尝试从存储中检索数据时,存储返回未定义的(就像数据被删除了一样)。但为什么这么快?我玩了不同的初始化参数,但没什么改变。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-07-18 13:33:05

好的,我发现文档是误导的(错误的)。

通过查看组件(通过调试控制台),我发现了不同的属性:

代码语言:javascript
复制
AuraStorage {$adapter$: MemoryAdapter, name: "GraphsData", $maxSize$: 10485760, $expiration$: 10000, $autoRefreshInterval$: 30000…}
$adapter$:    MemoryAdapter
$autoRefreshInterval$    :    30000
$debugLogging$    :    false    
$expiration$    :    10000   
$getOperationsInFlight$    :    0
$keyPrefix$    :    "1.0:"
$lastSweepTime$    :    1468848393250
$maxSize$    :    10485760
$sweepInterval$    :    300000
$sweepPromise$    :    undefined
$sweepingSuspended$    :    false
adapter    :    MemoryAdapter
name    :    "GraphsData"
version    :    "1.0"

在设置过期参数(而不是defaultExpiration)后,一切都按预期开始工作。现在我用

代码语言:javascript
复制
expiration : 600,

满10分钟

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38434097

复制
相关文章

相似问题

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