.net通过cache.insert缓存后,后续的操作影响缓存的数据
Public Shared Function GetStudents () As List (Of Student)
Dim key As String = "AllStudents"
If Not IsNothing (Cache(key)) Then
Return CType(Cache(key), List(Of Student))
End If
Dim lItems As List(Of Student)
'读取数据库,返回值给lItems,此处代码省略
Cache.Insert(key, lItems, Nothing, DateTime.Now.AddSeconds(600), TimeSpan.Zero)
Return lItems
End Function
Public Shared Sub GetStudentsInClass (classId As Integer)
'假设有50名学生,无论后面的筛选如何进行,下面这句的返回值应该是不变的
Dim lItems As List (Of Student)=GetStudents()
If classId > 0 Then
'此处进行筛选.按理不是直接操作缓存的数据,但问题是,这句结束后,缓存的数据就变成了筛选后的数据,而不是全部
lItems.RemoveAll (Function (vStudent) vStudent.ClassId <> classId)
End If
'后面展示结果
End Sub
相关推荐
页面缓存和清除页面缓存
asp.net,C#页面缓存和清除页面缓存
深入理解 ASP.NET Cache 运行机制与实战避坑指南
ASP.NET Cache 是 .NET Framework 时代基于 System.Web.Caching.Cache 的服务器内存缓存组件,虽被 ASP.NET Core 的 IMemoryCache 取代,但其自动过期、依赖联动、优先级淘汰和回调通知等核心设计思想仍深刻影响现代缓存架构。它并非简单字典,而是具备完整生命周期管理的可控缓存系统,适用于金融、政务等强一致性要求的存量系统优化。理解其与 AppDomain 绑定、内存压力感知、CacheExpiresThread 工作机制及 SqlCache
提高MySQL导入速度技巧[代码]
本文详细介绍了多种提高MySQL执行SQL导入速度的方法。包括将数据目录放置在内存盘中、使用MyISAM引擎代替InnoDB、导入完成后才创建索引、使用多记录插入方式、分割大文件SQL等硬件和SQL层面的优化技巧。同时提供了性能调优建议,如调整缓冲池大小、优化事务提交频率、设置合适的日志文件大小等。这些方法能显著提升MySQL数据导入效率,适用于需要处理大量数据导入的场景。
ASP.NET中Cache的Insert参数说明
public void Insert( string key, object value, CacheDependency dependencies, DateTime absoluteExpiration, TimeSpan slidingExpiration );
ASP.NET中使用Cache类来缓存页面的信息示例代码.zip
ASP.NET中使用Cache类来缓存页面的信息示例代码.;ASP.NET中使用Cache类来缓存页面的信息示例代码.



