C#----Memcached 的揣摩记录_winvay

 
自己在公司任务暂时不重的时候,揣摩并顺理了关于高效访问的方案之一 -- 利用Memcacherd来处理
网上很多PHP版本的,其实他的客户端API包含很多版本,因为我目前主要以.NET为主,所以下面的内容全部是C#的相关:
1 。关于服务器端的布置 ----- 安装Memcached  for  win32
网络上的地址很多,下载后,在CMD里运行文件夹里的安装程序   
       memcached.exe 
- d intall      // 安装
      memcached.exe  - d start       // 开机启动

2 。首先去网上下载个客户端的API,里面含有DLL;
关于程序里,也就是客户端里的操作
----- 分布式缓存
       注意:一定要写在类里面,而不能直接写在xxx.asp.cs里,是不同的命名空间
第一步,类:当然要引用了,第一步中下载的里面,一般都含有,直接引入即可。
DLL有:Memcached.ClientLibrary.dll,log4net.dll,ICSharpCode.SharpZipLib.dll
Code

第二步:用这个类:

代码
using  System.Data;

public   partial   class  Mem2 : System.Web.UI.Page
{
    
public   string  outstr  =   "" ;
    
protected   void  Page_Load( object  sender, EventArgs e)
    {        
        
// for (int i = 0; i < 50; i++)
        
// {
        
//     outstr += Mem.Memcacher2();            
        
// }

        DataTable dt 
=  Mem.GetMemDt();
        outstr 
=  ReadDt(dt);
        Response.Write(outstr);
    }
    
protected   void  Button1_Click( object  sender, EventArgs e)
    {
        Response.Redirect(
" Memcached.aspx " );
    }
    
public   string  ReadDt(DataTable dt)
    {
        
string  dtstring  =   "" ;
        
foreach  (DataRow dr  in  dt.Rows)
        {
            dtstring 
+=  dr[ 0 ].ToString();
        }
        
return  dtstring;
    }
}

 

附录:连接数据库的类:

代码
public  DataTable GetDt()
    {
        SqlConnection con 
=   new  SqlConnection( " Data Source=192.168.0.102;Initial Catalog=test;Persist Security Info=True;User ID=sa;Password=sa;Max Pool Size=50 " );
        con.Open();
        SqlCommand cmd 
=   new  SqlCommand( " select * from Sheet " , con);
        DataSet ds 
=   new  DataSet();
        SqlDataAdapter sda 
=   new  SqlDataAdapter();
        sda.SelectCommand 
=  cmd;
        sda.Fill(ds);
        
return  ds.Tables[ 0 ];
    }

 

我在揣摩的时候,主要问题有:
如果类写不好,会重复初始化,就会导致线程错误。原则是先判断KEY是否在缓存里有值,如果没有才初始化下。否则就直接用。
在页面第一次进来的时候要注意。
由于工作比较忙,先大致把我的程序COPY来,以后有时间了在续,哎,又上课,又工作,又自己写东西,还要考研准备.

http://www.cnblogs.com/winvay/articles/1586094.html
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值