打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
利用Memcached Providers搭建Asp.net共享Session


   对于支持高并发量的web架构,服务器集群是很好的解决方案。不管是多台独立的服务器,还是一台服务器启动多个iis进程的web园,都相当存在多个独立一样的web网站。而每个web网站默认都使用自己独立的Session空间,用户每作一次请求都有可能切换到不同的web网站,所以我们需要同步这些web网站之间的Session,达到用户数据的一致性。

 

我们来看看asp.net的session保存模式

1、  InProc 模式:默认模式,即进程内模式,缺点是容易丢失,进程间不共享。

2、  StateServer 模式:使用独立的进程aspnet_state.exe来保存Session,可以多服务器共享,缺点是单服务器缓存存储,不能持久化到磁盘。

3、  Sqlserver 模式:就是把Session存入Sqlserver数据库中,可以多服务器共享,缺点是读写效率低。

4、  缓存服务器群+数据库持久化:本文所述的就是这种模式,Memcached 提供了缓存服务器集群,数据库采用sqlserver 持久化。

 

一、安装Memcached 服务端

   Memcached 分为windows版和linux版本,如果不考虑增加额外的linux服务器,可以采用windows版本运行在同一台服务器上,但是想提高集群服务器性能,还是建议使用linux集群。

   Linux下安装过程大家还是百度吧,这里简单介绍一下windows下安装:

1、  下载win64版本

,win32版本百度找吧。

2、  解压到一个目录

 

3、  以管理员身份启动cmd窗口,进入解压目录

输入命令行

memcached.exe -dinstall  

安装服务

 

然后输入命令行

memcached.exe -d start

启动服务

至此,单服务器版的memcached服务器端已经安装完毕,如果想做集群配置还是去百度吧。

 

二、安装Memcached 客户端

         1、下载到http://memcachedproviders.codeplex.com/

 或者 本站下载

, 官网提供了.net2.0, .net3.5版本的,可以重新编译生成.net4.0以上版本的dll

 

      2、解压后,源码里Trunk\DbSQL有2个目录CreateScripts 和 StoredProcs?


里面的.sql文件是用来创建数据库表和存储过程的脚本。

 

安装sqlserver数据库2005/2008 ,我用的是sqlexpress2005版本。然后创建数据库session?


打开session数据库,在查询器里运行目录CreateScripts 和 StoredProcs下面的多个.sql脚本文件(一个一个运行),直到把表和所有的存储过程都创建完毕。

 

3、添加引用

重新生成Trunk\MemcachedProviders 项目,得到3个dll

 

把这3个dll添加引用到自己的web工程里。

修改web工程的web.config????



4、  Session 使用

和传统使用方法一样

 

        protectedvoid Page_Load(object sender, EventArgse)

       {

               Session[”Name”]=”test”;

}

 

5、  测试

运行网站后,打开数据库Session 的表tblSessions查看记录?


说明Session已经起作用

请关注开源框架 bigcore 大数据高并发?

http://www.8088net.com







本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
ASP.NET性能优化之分布式Session
nginx服务器集群的问题及解决方式
集群中几种session同步解决方案的比较
分布式缓存Memcached
转载:浅谈web应用的负载均衡、集群、高可用(HA)解决方案
【转】分布式环境下5种session处理策略(大型网站技术架构:核心原理与案例分析 里面的方案)
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服