cho*_*obo 6 c# asp.net asp.net-mvc design-patterns
我有一个Web应用程序,我想从数据库中提取用户设置并存储它们以进行全局访问.将数据存储在Singleton或Session对象中会更有意义吗?这两者有什么区别?
将数据存储为对象引用还是将其分解为值类型对象(整数和字符串)更好?
tva*_*son 12
会话.这就是它的用途.会话存储在全局缓存(基本上是单例)中,由会话ID键入.这样,您只获得感兴趣的会话的数据.使用单例基本上会复制全局缓存,您必须重新发明机制以独立地检索每个会话的数据.
继续存储对象.让会话担心将其序列化为可以恢复的东西.但是,请注意您在会话中添加的内容.您不希望在那里存储太多数据,或者您将耗尽大量内存(假设内存缓存).
会话对象,当然。
单例存在于进程级别。这意味着,如果您有 20 个用户在任何给定时刻访问您的网站,他们都会使用同一个单例对象。如果您不经常进行 Web 开发,则很难习惯这个概念。
会话存在于用户级别。这意味着您可以存储每个用户的数据,而不是每个进程的数据。
| 归档时间: |
|
| 查看次数: |
6615 次 |
| 最近记录: |