日期:2014-05-17  浏览次数:20913 次

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文件在打开时不能被其他用户修改
------解决方案--------------------
用户数据多的话,放在缓存中,会增加服务器压力,也会导致出错的!
------解决方案--------------------
引用:
请使用System.Web.Caching.Cache

+1