• 按键公众号 :
按键精灵电脑版
立即下载

软件版本:2014.06
软件大小:22.9M
更新时间:2021-12-03

按键精灵安卓版
立即下载

软件版本:3.7.2
软件大小:46.2M
更新时间:2023-05-10

按键精灵iOS版
立即下载

软件版本:1.8.0
软件大小:29.2M
更新时间:2023-03-21

按键手机助手
立即下载

软件版本:3.8.0
软件大小:262M
更新时间:2023-05-30

快捷导航

登录 后使用快捷导航
没有帐号? 注册

发新话题 回复该主题

[神梦] 【源码】带自动回收功能的数据缓存 [复制链接]

1#
  1. VBSBegin

  2.     '【作者】:神梦无痕
  3.     '【QQ】:1042207232
  4.     '【Q群】:624655641

  5.     ' cache对象中以键值对的形式存储我们的缓存数据
  6.     Set Cache_Keys = CreateObject("Scripting.Dictionary")

  7.     ' 带自动回收功能的数据缓存
  8.     Function cache(key)
  9.         Dim value, Keys, args
  10.         
  11.         ' 判断是否传值
  12.         If IsArray(key) Then
  13.             args = key
  14.             If UBound(args) >= 1 Then
  15.                 Key = args(0)
  16.                 value = args(1)
  17.             End If
  18.         End If
  19.         ' 如果传了值,就说名是设置值
  20.         If value <> "" Then
  21.             ' 如果cache对象中存在键值,则删除
  22.             If Cache_Keys.Exists(key) Then Cache_Keys.Remove key
  23.             ' 将数据存入cache对象,做缓存
  24.             Cache_Keys.Add key, value
  25.             ' 判断缓存中的数据数量是不是超出了限制
  26.             If Cache_Keys.Count > 50 Then
  27.                 ' 如果超出了限制
  28.                 ' 删除掉最早存储缓存的数据
  29.                  Keys = Cache_Keys.Keys
  30.                  ' 获取到最早加入缓存的这个数据的键,可以使用它将数据从缓存中删除
  31.                 Cache_Keys.Remove Keys(0)
  32.             End If
  33.         End If
  34.         ' 如果没有传值,只传了键,那就是获取值
  35.         cache = Cache_Keys(key)
  36.     End Function
  37.     Function createCache()
  38.         Set createCache = GetRef("cache")
  39.     End Function
  40. VBSEnd
复制代码
演示例子
  1. Set myCache = createCache()

  2. myCache Array("a", 1)
  3. myCache Array("b", 2)
  4. myCache Array("c", 3)
  5. myCache Array("d", 4)
  6. myCache Array("e", 5)
  7. myCache Array("a", 6)

  8. TracePrint myCache("b")

  9. DictKeys = Cache_Keys.Keys
  10. DictItems = Cache_Keys.Items
  11. For Counter = 0 To Cache_Keys.Count - 1
  12. TracePrint _
  13.     "键: " & DictKeys(Counter) & _
  14.     "值: " & DictItems(Counter)
  15. Next
复制代码

最后编辑神梦科技 最后编辑于 2022-10-21 21:27:15
2#

学习看看

3#

老啦啦啦啦

4#

E:【源码】带自动回收功能的数据缓存修改

5#

学习的

6#

budong

meikandong

7#

67677

vb大法好
8#

回复学习

9#

看看

10#

第三方

11#

带自动回收功能的数据缓存

12#

突然有人提议

13#

支持最小化使用吗?

14#

11111111111

15#


拜读了,很好

16#

【源码】带自动回收功能的数据缓存

17#

谢谢分享

发新话题 回复该主题