Asp.net-Static和Cache,关于把数据存储在内存中的疑问?

MR00009 2015-08-29 03:44:57

大概功能就是,网站开始运行后,Global里启动了一个Timer定时器。
每小时整点,从数据库取出数据(其中有一个字段是在此数据取出后,随机取值赋值)。
这数据在内存里面,字段的值会根据情况改变,且不会更新到数据库。

而每个用户登录后,都将这个数据展示到前台(且前台用ajax不时地请求,保证前台的数据跟着内存里的数据改变。)。

请问下该如何存储这个数据。
方法一:将数据存入一个全局静态类里的静态对象中。
方法二:将数据存入Cache。
方法三:使用redis memcached第三方缓存服务

现在有疑问的是,不知道静态对象会不会被回收?
或者不同用户登录,会不会产生不同(重新生成随机值)的数据?看到的数据会不会不一样?
静态对象是唯一的吗?是所有用户都共享同一个的吗?
或者使用Cache比较合适。
...全文
161 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
md5e 2015-09-06
  • 打赏
  • 举报
回复
首先你要了解他们的特性 单台服务器,对数据存储要求不高,数据比较简单,就直接用静态对象; 单台服务器,对数据存储有严格要求或数据较为复杂,就用Cache; 多台服务器组成的应用集群,就要使用redis memcached;
木子李1212 2015-09-06
  • 打赏
  • 举报
回复
Cache吧
  • 打赏
  • 举报
回复
看你数据,如果数据量不大的话,static即可,如果你了解gc的话,就知道它是不会被回收的,如果你没用threadstatic特性的话,所有用户都是用的同一个静态对象

62,074

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧