网站架构之缓存应用

网站架构之缓存应用

ID:14267510

大小:83.00 KB

页数:11页

时间:2018-07-27

网站架构之缓存应用_第1页
网站架构之缓存应用_第2页
网站架构之缓存应用_第3页
网站架构之缓存应用_第4页
网站架构之缓存应用_第5页
资源描述:

《网站架构之缓存应用》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、网站架构之缓存应用   这篇来讲如何利用memcached实现一级缓存,以及如何让一级缓存组件支持在企业库,memcached或者其它第三方实施方案之间的切换。memcached本人并没有太多经验,如果文中有说的不对的地方,还希望批评指出,且文中关于memcached的代码大多来自网络。    创建memcached实现类MemcachedWebCacheProvider,由它来继承缓存提供者接口IWebCacheProvider,主里memcached客户端我采用.NETmemcachedclientlibrary,这

2、个类库很久没有更新这过了,没有和java版同步,有部分功能目前没有实现。    1:初始化memcached服务,这段初始化代码在程序中保证执行一次就够,一般可以放在gloabl文件中,或者是设置一个静态变量来存储服务的状态。 private void Setup()        {            String[] serverlist = { "127.0.0.1:11211" };            this._pool = SockIOPool.GetInstance("default");     

3、       this._pool.SetServers(serverlist); //设置服务器列            //各服务器之间负载均衡的设置            this._pool.SetWeights(new int[] { 1 });            //socket pool设置            this._pool.InitConnections = 5; //初始化时创建的连接数            this._pool.MinConnections = 5; //最小连接数  

4、          this._pool.MaxConnections = 250; //最大连接数            //连接的最大空闲时间,下面设置为6个小时(单位ms),超过这个设置时间,连接会被释放掉            this._pool.MaxIdle = 1000 * 60 * 60 * 6;            //通讯的超时时间,下面设置为3秒(单位ms),.NET版本没有实现            this._pool.SocketTimeout = 1000 * 3;           

5、 //socket连接的超时时间,下面设置表示连接不超时,即一直保持连接状态            this._pool.SocketConnectTimeout = 0;            this._pool.Nagle = false; //是否对TCP/IP通讯使用Nalgle算法,.NET版本没有实现            //维护线程的间隔激活时间,下面设置为60秒(单位s),设置为0表示不启用维护线程            this._pool.MaintenanceSleep = 60;       

6、     //socket单次任务的最大时间,超过这个时间socket会被强行中断掉(当前任务失败)            this._pool.MaxBusy = 1000 * 10;            this._pool.Initialize();        }       2:获取一个memcached客户端。             private MemcachedClient GetClient()        {            MemcachedClient client = new M

7、emcachedClient();            client.PoolName = "default";            return client;        }       3:根据memcached提供的功能实现IWebCacheProvider,代码就不贴了,大家可以自己去试试。       到此我们就利用memcached实现了一级缓存,由于.NETmemcachedclientlibrary实现了分布式,我们只需要在多台服务器上安装上memcached服务,在初始化memcached代码中

8、增加了服务器相关配置即可。String[] serverlist = { "127.0.0.1:11211" };        如何让一级缓存组件支持多实现方案之间的切换。       MyWebCacheServiceClient:客户端缓存组件实例,它来完成一级缓存与二级缓存之间的联系,以及根据配置文件来选择一

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。