C# 怎么把数据写到内存呢,供用户接口访问?小女子不胜感激~
因为用户量大,直接去访问数据库数据造成服务器压力很大。而且这些数据是每小时更新一次的。现在想把这部分数据写到内存,然后用户访问通过键值搜自己需要的数据。
请教一下,怎么把数据写到内存呢? 让接口速度变快,减轻机器压力。
多谢了~
------解决方案--------------------放到缓存里
其实DataSet里也行,直接从dataset里查找数据
------解决方案--------------------用缓存吧,用户读取时直接从缓存中读取,第一个小时数据更新地,一下缓存
以前用过 memcached http://baike.baidu.com/view/794242.htm
------解决方案--------------------上面的这打错了
用缓存吧,用户读取时直接从缓存中读取,每一个小时数据更新一下缓存
以前用过 memcached 你可以看看 http://baike.baidu.com/view/794242.htm
------解决方案--------------------放入一个HashTable或者用它再改造一个队列,就可以了。
------解决方案--------------------
c#里面定义的变量,在运行时不都是存在内存里的么?不知道你还要怎么放到内存里!
你可以用System.Collections.Generic.Dictionars<k,v>
这种字典集合索引数据的效果是非常高的。
public static class GV
{
public static System.Collections.Generic.Dictionary<string, object> Stack { get; }
}
public class test
{
public test()
{
GV.Stack.Add("name", "123");
var t = GV.Stack["name"];
GV.Stack.Remove("name");
}
}
------解决方案--------------------请使用System.Web.Caching.Cache
------解决方案--------------------如果内容不是很大可以放到System.Web.Caching.Cache 中,数据量大写还是放到sqlserver中的临时表中吧。
使用xml对于文件的读写都是考验,xml文件在打开时不能被其他用户修改
------解决方案--------------------用户数据多的话,放在缓存中,会增加服务器压力,也会导致出错的!
------解决方案--------------------
+1