需求:在全局变量中定义一个变量,存放一个字符串,可以让所有浏览网页的人都能获取到字符串的值,而不用都访问数据库进行获取。
好处:哪怕打开100个浏览器也只会访问全局变量的值,不用连接100次数据库去查询,然后每秒钟只需要连接一次数据库更新全局变量里的值即可。问题:存放在全局变量中的字符串如何每一秒都从数据库中提取新的值来放到全局变量中供客户端使用。
好处:哪怕打开100个浏览器也只会访问全局变量的值,不用连接100次数据库去查询,然后每秒钟只需要连接一次数据库更新全局变量里的值即可。问题:存放在全局变量中的字符串如何每一秒都从数据库中提取新的值来放到全局变量中供客户端使用。
解决方案 »
- 想将div的属性赋值给变量
- 请教各位大侠JavaScript问题
- 选项列表库功能说明
- 请问设置文本框只准输入带 "+- "号的正整数,并且首位数不能是0不准有小数点出现的文本框,谢谢 !!
- Javascript 有什么好的IDE 工具呢?
- 求助~!!大侠来帮忙~!得分多多!
- new ActiveXObject的问题 用过的请进
- 求助这个JS
- 不等于-1的正则表达式如何编写?
- 本地环境中js可以加载出来,但是部署到服务器上,js文件夹都没有了。通过域名却可以访问到,这个该怎么解决
- extjs页面的局部刷新跳转无法实现
- 分享一个帮助用户全屏阅读的jQuery插件 - jQuery fullscreen
因为页面类只在客户端请求时才生成对象,html发送后对象即销毁,所以是不能用来保存数据的。
静态变量会一直存在内存里,而且所有的页面访问的都是同一个变量,刚好符合你的要求
用System.Timers.Timer类申明一个计时器(要在Global.asax.cs文件中申明,这是全局应用程序类,只有这个才不会被销毁):
在Global类申明成员:
System.Timers.Timer timer1 = new System.Timers.Timer();
在Application_Start事件中添加代码:
timer1.Interval = 1800 * 1000;//时间间隔半小时
timer1.Elapsed += timer1_Tick;//触发函数
timer1.Start();//计时开始
然后在timer_Tick中写更新代码就可以了
这个定时器是系统定时器不依赖界面