假设我需要在Web应用程序中引用一些10个“类别”.目前我将这些类别存储在数据库中,并在我的基页的页面加载期间检索它们(类别名称和ID),将它们存储在哈希表中,然后使用哈希表来引用类别.我意识到每次页面加载都会进行数据库调用.我只需要将这些类别拉出一次,因为它们在给定的会话期间永远不会改变.最好的方法是什么?
>做我正在做的事情,但将其存储为Application变量?
>硬编码代码中的类别,并取消数据库?
>将类别存储在会话变量中?只有在会话为空时才调用数据库?
>还是其他什么?
我只是想知道做这些事情的最佳做法是什么.
最佳答案 如果类别是用户相关的,那么我将它们存储在Session变量中;否则我会使用ASP.NET缓存功能(或首选的分布式缓存).这使您可以避免命中数据库,同时能够控制缓存类别的时间长度.