Asp.net?使用Cache缓存数据库吧

解决方案 »

  1.   

    做一个SERVICE,在程序启动时把500多条数据读入,每一个客户端只与SERVICE交换数据,而不与数据库交换数据即可。再给SERVIE设一个机制,隔一定的时间把所有的数据刷新一下,以目前的需求,可以设为半年。
      

  2.   

    程序第一次运行时保存为Hasetable,然后下一个2秒直接从Hasetable检索. 检索的时间复杂度是O(1)Hashtable Userinfo = new Hashtable;string sql = "Select 账号, 密码 from 表名"
    DataTable dt = SomeDBHelp.ExecDataTable(sql);for(int i = 0 ; i < dt.Rows.Count; i++)
    {
      Userinfo.Add(dt.Rows[0]["账号"], dt.Rows[0]["密码"]);
    }
    //判断用户是否在表中:if (Userinfo["用户名"] == null)
    {
      //不在表中
    }
    else
    {
      //在表中
    }
      

  3.   

    同意存放在DataSet里面
    定義一個全局的DataSet可隔一段時間就更新一下DataSet
    密碼比對在DataSet里完成
      

  4.   


    DataSet da = new dataset();
    SqlDataAdapter sda = new sqlDataAdapter ("select ...",con);
    sda.Fill(da,""lendm);
      

  5.   

    dataset好,dataset本来就是为了满足你这种需要的
      

  6.   

    既然是Winform程序,建议使用WindowService/WebService,在Service里面实现数据缓存及刷新控制即可。如果我没有理解错误,享用DataSet的话可以选择保持进程的情况下保存数据,但会随着进程的终止而消失,并且每次启动进程都需要操作数据库。