绶存类

博客给出了缓存类的原代码,包含类的初始化、设置缓存、清空缓存等方法。同时提供了使用示例,如设置缓存过期时间、缓存主副名字,判断缓存是否为空时设置缓存,还展示了删除缓存和显示缓存名的函数。

绶存原代码
<%
Class Cls_Cache
 Public Reloadtime,MaxCount,CacheName
 Private LocalCacheName,CacheData,DelCount
 Private Sub Class_Initialize()
  Reloadtime=14400
  CacheName="Cache"
 End Sub
 Private Sub SetCache(SetName,NewValue)
  Application.Lock
  Application(SetName) = NewValue
  Application.unLock
 End Sub
 Public Sub MakeEmpty(MyCaheName)
  Application.Lock
  Application(CacheName&"_"&MyCaheName) = Empty
  Application.unLock
 End Sub
 Public  Property Let Name(ByVal vNewValue)
  LocalCacheName=LCase(vNewValue)
 End Property
 Public  Property Let Value(ByVal vNewValue)
  If LocalCacheName<>"" Then
   CacheData=Application(CacheName&"_"&LocalCacheName)
   If IsArray(CacheData)  Then
    CacheData(0)=vNewValue
    CacheData(1)=Now()
   Else
    ReDim CacheData(2)
    CacheData(0)=vNewValue
    CacheData(1)=Now()
   End If
   SetCache CacheName&"_"&LocalCacheName,CacheData
   
  Else
   Err.Raise vbObjectError + 1, "LvbbsCacheServer", " please change the CacheName."
  End If  
 End Property
 Public Property Get Value()
  If LocalCacheName<>"" Then
   CacheData=Application(CacheName&"_"&LocalCacheName) 
   If IsArray(CacheData) Then
    Value=CacheData(0)
   Else
    Err.Raise vbObjectError + 1, "LvbbsCacheServer", " The CacheData Is Empty."
   End If
  Else
   Err.Raise vbObjectError + 1, "LvbbsCacheServer", " please change the CacheName."
  End If
 End Property
 Public Function ObjIsEmpty()
  ObjIsEmpty=True
  CacheData=Application(CacheName&"_"&LocalCacheName)
  If Not IsArray(CacheData) Then Exit Function
  If Not IsDate(CacheData(1)) Then Exit Function
  If DateDiff("s",CDate(CacheData(1)),Now()) < 60*Reloadtime  Then
   ObjIsEmpty=False
  End If
 End Function
 Public Sub DelCache(MyCaheName)
  Application.Lock
  Application.Contents.Remove(CacheName&"_"&MyCaheName)
  Application.unLock
 End Sub
End Class
%>
使用示例:
<%
'aplication名称为: 缓存主名字_缓存副名字, 如 myCache_tempCache
'值为:测试,Wed Oct 20 11:11:30 UTC+0800 2004,
Dim myCache,content,str
Set myCache=New Cls_Cache
myCache.Reloadtime=0.05                  '设置过期时间,单位为1分钟
myCache.CacheName = "abc"         '缓存主名字.
myCache.Name="vcd"              '缓存副名字
If myCache.ObjIsEmpty() Then          '但该缓存为空时设置缓存.
    content = "测试<br>"
    myCache.value = content
End If
Response.Write myCache.value
Set myCache = Nothing

Sub DelCahe(MyCaheName)      '删除绶存
    Application.Lock
 Application.Contents.Remove(MyCaheName)
 Application.unLock
End Sub
delCahe("abc_vcdd")
Function  GetallCache()     '显示绶存名
 Dim Cacheobj
 For Each Cacheobj in Application.Contents
  response.write Cacheobj&"<br>"
 Next
End Function
%>

### 解决方案概述 在 Windows 环境下遇到 `npm` 不是内部或外部命令的问题通常与 Node.js 和 nvm (Node Version Manager) 的安装及配置有关。以下是几种常见情况及其解决方案。 #### 1. 验证 Node.js 安装 确保已经正确安装了 Node.js 并且环境变量已设置妥当。可以通过打开命令提示符并输入以下命令来验证: ```cmd node -v ``` 如果该命令能返回版本号,则说明 Node.js 已经被正确安装;反之则可能意味着 Node.js 尚未安装或是路径配置在问题[^4]。 #### 2. 使用 NVM-Windows 处理多版本管理 对于那些使用 nvm-windows 来管理系统中不同版本 Node.js 用户来说,可能会遭遇即使成功切换至特定版本之后仍然无法识别 `npm` 的状况。这主要是因为新安装的节点版本下的 npm 文件未能自动加入系统的 PATH 中。此时可以尝试手动解压位于 `%APPDATA%\nvm\v<version>` 下面名为 "npm" 的 .zip 文件到同一目录内[^3]。 #### 3. PowerShell 执行策略影响 IDEA 终端操作 部分开发者报告指出,在 JetBrains IDE 如 IntelliJ IDEA 内部集成的终端里运行 `npm` 可能会由于 PowerShell 默认的安全执行策略而失败。为了克服这一点,建议调整 PowerShell 的执行策略为 RemoteSigned 或 Unrestricted(需谨慎对待安全性),具体方法如下所示: ```powershell Set-ExecutionPolicy RemoteSigned -Scope CurrentUser ``` 请注意更改此设置前应充分了解潜在风险,并仅限于信任源的情况下应用更宽松的权限[^2]。 #### 4. 检查全局模块位置 有时即便上述措施都已完成,仍可能在某些情况下找不到 `npm` 的情形。这时应该确认全局模块的位置是否已被添加到了系统 PATH 当中。可通过编辑系统属性中的高级选项卡内的环境变量来进行相应修改,将似于 `C:\Users\<YourUsername>\AppData\Roaming\npm` 路径追加进去[^1]。 通过以上几个方面的排查和修正,大多数关于 `npm` 是不是内部或外部命令的问题都可以得到有效解决。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值