Cache的疑惑??

由于想得脑袋都痛了,所以先放首页一回会儿,让大家一起讨论一下,还请dudu见谅
在设计Web应用程序的时候,性能可以说是最需要考虑的地方,使用cache是一个不错的选择,一直以来,我感觉Cache用来缓存小数量数据比较合适,但是今天在看Petshop的代码的时候 看到如下代码

    if(Cache[categoryKey] != null){
                
// If the data is already cached, then used the cached copy
                products.DataSource = (IList)Cache[categoryKey];
            }
else{
                
// If the data is not cached, then create a new products object and request the data
                Product product = new Product();
                IList productsByCategory 
= product.GetProductsByCategory(categoryKey);
                
// Store the results of the call in the Cache and set the time out to 12 hours
                Cache.Add(categoryKey, productsByCategory, null, DateTime.Now.AddHours(12), Cache.NoSlidingExpiration , CacheItemPriority.High, null);
                products.DataSource 
= productsByCategory;
            }
代码不难理解。petshop是吧每一个分类的产品列表列据categorykey不同全部放在了缓存中,无疑,这样做访问时不用每次都访问数据库,在性能上有很大的提高,但是我在想,在petshop的演示数据库中 只有5个分类,而且第个分类也只有为数不多的产品,如果,分类,多达上百种,每个分类里面又有近千种的产品,用这种方式是否还合适,如果 不合适的话,为什么当初这个用演示,.Net的设计思想以及性能的程序 为什么采用了这种设计方法,难道只是用来表的小数据量为前题下的性能????
本来 我对Cache认识还是蛮清晰的,现在 被这段代码弄糊涂了,cache到底 缓存多少数据库量比较合适。
几十条。
几百条。
几千条。
上万条。
还是存个几百万条。
是不是我想太多了??
还请大家帮我解除这个疑惑,
posted @   无心之柳.NET  阅读(3612)  评论(8编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示