异步数据存取
(Object object)
将数据存储在本地缓存中指定的 key 中。会覆盖掉原来该 key 对应的内容。
数据存储生命周期跟小程序本身一致,即除用户主动删除或超过一定时间被自动清理,否则数据都一直可用。
单个 key 允许存储的最大数据长度为 1MB,所有数据存储上限为 10MB。
参数
(Object object)
从本地缓存中异步获取指定 key 的内容
参数
回调函数参数res
示例:
<button bindtap='btnClick1' type="primary">异步存setStorage</button>
<button bindtap='btnClick2' type="primary">异步取getStorage</button>
- 1
- 2
button{
margin: 20rpx
}
- 1
- 2
- 3
Page({
data: {
},
btnClick1:function(){
('异步存入key1:value1')
({
key: 'key1',
data: 'value1'
})
},
btnClick2: function () {
({
key: 'key1',
success(res) {
('异步取出key1:',)
}
})
}
})
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
打印结果
异步存入key1:value1
异步取出key1:value1
##同步数据存取
(string key, any data)
的同步版本
- string key本地缓存中指定的 key
- any data 需要存储的内容。只支持原生类型、Date、及能够通过序列化的对象。
(string key)
的同步版本
- string key 本地缓存中指定的 key
- any data key对应的内容
示例
<button bindtap='btnClick3' type="primary">同步存setStorageSync</button>
<button bindtap='btnClick4' type="primary">同步存getStorageSync</button>
- 1
- 2
button{
margin: 20rpx
}
- 1
- 2
- 3
Page({
data: {
},
btnClick3: function () {
('同步存入key2:value2')
('key2', 'value2')
/*或者
try {
('key2', 'value2')
} catch (e) { }
*/
},
btnClick4: function () {
const value = ('key2')
('同步取出key2:',value)
/*获取
try {
const value = ('key2')
if (value) {
('同步取出key2:',value)
}
} catch (e) {
}
*/
}
})
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
打印结果
同步存入key2:value2
同步取出key2: value2
所有缓存数据的
(Object object)
异步获取当前storage的相关信息
参数Object object
回调函数参数
()
的同步版本
示例:
<button bindtap='btnClick5' type="primary">异步获取所有缓存键值对</button>
<button bindtap='btnClick6' type="primary">同步获取所有缓存键值对</button>
- 1
- 2
button{
margin: 20rpx
}
- 1
- 2
- 3
Page({
data: {
},
btnClick5: function () {
({
success(res) {
() //当前 storage 中所有的 key
()//当前占用的空间大小, 单位 KB
() //限制的空间大小,单位 KB
}
})
},
btnClick6: function () {
const res = ()
()
()
()
/*或者
try {
const res = ()
()
()
()
} catch (e) {
// Do something when catch error
}
*/
}
})
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
打印结果
异步
[“logs”, “key1”, “key2”]
3
10240
同步
[“logs”, “key1”, “key2”]
3
10240
删除指定Key
(Object object)
从本地缓存中移除指定 key(异步)
(string key)
的同步版本,同步从本地缓存中移除指定 key
- string key 本地缓存中指定的 key
清理本地数据缓存
(Object object)
清理本地数据缓存(异步)
()
的同步版本,同步清理本地数据缓存
示例:
<button bindtap='btnClick7' type="primary">从本地缓存中移除指定 key</button>
<button bindtap='btnClick8' type="primary">清理本地数据缓存</button>
- 1
- 2
button{
margin: 20rpx
}
- 1
- 2
- 3
Page({
data: {
},
btnClick7: function () {
//异步
({
key: 'key1',
success(res) {
()
}
})
/*同步
try {
('key')
} catch (e) {
// Do something when catch error
}*/
},
btnClick8: function () {
//异步
()
/*同步
try {
()
} catch (e) {
// Do something when catch error
}
*/
}
})
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
综上:
示例代码
<button bindtap='btnClick1' type="primary">异步存setStorage</button>
<button bindtap='btnClick2' type="primary">异步取getStorage</button>
<button bindtap='btnClick3' type="primary">同步存setStorageSync</button>
<button bindtap='btnClick4' type="primary">同步存getStorageSync</button>
<button bindtap='btnClick5' type="primary">异步获取所有缓存键值对</button>
<button bindtap='btnClick6' type="primary">同步获取所有缓存键值对</button>
<button bindtap='btnClick7' type="primary">从本地缓存中移除指定 key</button>
<button bindtap='btnClick8' type="primary">清理本地数据缓存</button>
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
button{
margin: 20rpx
}
- 1
- 2
- 3
Page({
data: {
},
btnClick1:function(){
('异步存入key1:value1')
({
key: 'key1',
data: 'value1'
})
},
btnClick2: function () {
({
key: 'key1',
success(res) {
('异步取出key1',)
}
})
},
btnClick3: function () {
('同步存入key2:value2')
('key2', 'value2')
/*或者
try {
('key2', 'value2')
} catch (e) { }
*/
},
btnClick4: function () {
const value = ('key2')
('同步取出key2:',value)
/*获取
try {
const value = ('key2')
if (value) {
('同步取出key2:',value)
}
} catch (e) {
}
*/
},
btnClick5: function () {
({
success(res) {
() //当前 storage 中所有的 key
()//当前占用的空间大小, 单位 KB
() //限制的空间大小,单位 KB
}
})
},
btnClick6: function () {
const res = ()
()
()
()
/*或者
try {
const res = ()
()
()
()
} catch (e) {
// Do something when catch error
}
*/
},
btnClick7: function () {
//异步
({
key: 'key1',
success(res) {
()
}
})
/*同步
try {
('key')
} catch (e) {
// Do something when catch error
}*/
},
btnClick8: function () {
//异步
()
/*同步
try {
()
} catch (e) {
// Do something when catch error
}
*/
}
})
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94