• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

如何在C# MVC 三层架构项目中使用Memcache?

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

1.Memcache概述:

memcache是一套开源的分布式高速缓存系统。由服务端和客户端组成,以守护程序(监听)方式运行于一个或多个服务器中,随时会接收客户端的连接和操作。memcache主要把数据对象缓存到内存中,通过在内存里维护一个统一的巨大的hash表。简单的说就是将数据调用到内存中,然后从内存中读取,从而大大提高读取速度。memcache基于一个存储键/值对的hashmap进行存储对象到内存中。memcache是用C写的,但是客户端可以用任何语言来编写,并通过memcached协议与守护进程通信。

 

2.Memcache特性:

  • 在 Memcached中可以保存的item数据量是没有限制的,只要内存足够 。
  • Memcached单进程在32位系统中最大使用内存为2G,若在64位系统则没有限制,这是由于32位系统限制单进程最多可使用2G内存,要使用更多内存,可以分多个端口开启多个Memcached进程 。
  • 最大30天的数据过期时间,设置为永久的也会在这个时间过期,常量REALTIME_MAXDELTA
  • 单个item最大数据是1MB,超过1MB数据不予存储,常量POWER_BLOCK 1048576进行控制

 

3.Memcached能缓存什么?

通过内存里维护一个统一的巨大的Hash表,Memcached能够用来存储各种格式的数据,包括图像、视频、文件以及数据库检索的结果等。

 

4.Memcached的特点:

Memcached的缓存是一种分布式的,可以让不同主机上的多个用户同时访问,因此解决了内存功能只能单击应用的局限,更不会出现使用数据库做类似的时候,磁盘开销和阻塞的发送。开源;没有提供主从复制功能,也没有提供容灾等功能,所有所有的代码基本都是考虑性能最佳。(Redis有)

 

解决了什么问题:

高并发访问数据库的痛楚:死锁!
磁盘IO之痛;

多客户端共享缓存;

读写性能完美:1s/读取可以1w次;写10w;

简单搭建集群;

 

1.引入4个dll文件

 

 

 

 

private static readonly MemcachedClient mc = null;

        static MemcacheHelper()
        {
            //最好放在配置文件中
            string[] serverlist = { "127.0.0.1:11211", "10.0.0.132:11211" };

            //初始化池
            SockIOPool pool = SockIOPool.GetInstance();
            pool.SetServers(serverlist);

            pool.InitConnections = 3;
            pool.MinConnections = 3;
            pool.MaxConnections = 5;

            pool.SocketConnectTimeout = 1000;
            pool.SocketTimeout = 3000;

            pool.MaintenanceSleep = 30;
            pool.Failover = true;

            pool.Nagle = false;
            pool.Initialize();

            // 获得客户端实例
            mc = new MemcachedClient();
            mc.EnableCompression = false;
        }

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C#使用ListView更新数据出现闪烁解决办法发布时间:2022-07-13
下一篇:
使用C#的HttpWebRequest模拟登陆网站发布时间:2022-07-13
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap