分布式缓存系统Memcached简介与以及在.net下的实践(转)

时间:2022-12-10 14:38:39

缘起: 在数据驱动的web开发中,经常要重复从数据库中取出相同的数据,这种重复极大的增加了数据库负载。缓存是解决这个问题的好办法。但是ASP.NET中的虽然已经可以实现对页面局部进行缓存,但还是不够灵活。此时Memcached或许是你想要的。

Memcached是什么?
Memcached是由Danga Interactive开发的,高性能的,分布式的内存对象缓存系统,用于在动态应用中减少数据库负载,提升访问速度。

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

Memcached快么?

非常快。Memcached使用了libevent(如果可以的话,在linux下使用epoll)来均衡任何数量的打开链接,使用非阻塞的网络I/O,
对内部对象实现引用计数(因此,针对多样的客户端,对象可以处在多样的状态), 使用自己的页块分配器和哈希表,
因此虚拟内存不会产生碎片并且虚拟内存分配的时间复杂度可以保证为O(1).。

Danga Interactive为提升Danga
Interactive的速度研发了Memcached。目前,LiveJournal.com每天已经在向一百万用户提供多达两千万次的页面访问。而这
些,是由一个由web服务器和数据库服务器组成的集群完成的。Memcached几乎完全放弃了任何数据都从数据库读取的方式,同时,它还缩短了用户查看
页面的速度、更好的资源分配方式,以及Memcache失效时对数据库的访问速度。

Memcached的特点
Memcached的缓存是一种分布式的,可以让不同主机上的多个用户同时访问, 因此解决了共享内存只能单机应用的局限,更不会出现使用数据库做类似事情的时候,磁盘开销和阻塞的发生。

Memcached的使用
Memcached服务器端的安装 (此处将其作为系统服务安装)
下载文件: memcached-win32-1.4.4-14-服务端安装
    1 解压缩文件到c:\memcached
   2 命令行输入 'c:\memcached\memcached.exe -d install'
    3 命令行输入 'c:\memcached\memcached.exe -d start' ,该命令启动 Memcached ,默认监听端口为 11211
通过 memcached.exe -h 可以查看其帮助
二   .NET memcached client library
   下载文件:https://sourceforge.net/projects/memcacheddotnet/

下载文件2

里面有.net1.1 和 .net2.0的两种版本 还有一个不错的例子。

三 应用

1 将Commons.dll,ICSharpCode.SharpZipLib.dll,log4net.dll,Memcached.ClientLibrary.dll 等放到bin目录
2 引用Memcached.ClientLibrary.dll
3 代码

namespace Memcached.MemcachedBench
{
using System;
using System.Collections; using Memcached.ClientLibrary; public class MemcachedBench
{
[STAThread]
public static void Main(String[] args)
{
string[] serverlist = { "10.0.0.131:11211","10.0.0.132:11211"
}; //初始化池
SockIOPool pool = SockIOPool.GetInstance();
pool.SetServers(serverlist); pool.InitConnections = ;
pool.MinConnections = ;
pool.MaxConnections = ; pool.SocketConnectTimeout = ;
pool.SocketTimeout = ; pool.MaintenanceSleep = ;
pool.Failover = true; pool.Nagle = false;
pool.Initialize(); // 获得客户端实例
MemcachedClient mc = new MemcachedClient();
mc.EnableCompression = false; Console.WriteLine("------------测 试-----------");
mc.Set("test", "my value"); //存储数据到缓存服务器,这里将字符串"my value"缓存,key 是"test" if (mc.KeyExists("test")) //测试缓存存在key为test的项目
{
Console.WriteLine("test is Exists");
Console.WriteLine(mc.Get("test").ToString()); //在缓存中获取key为test的项目
}
else
{
Console.WriteLine("test not Exists");
} Console.ReadLine(); mc.Delete("test"); //移除缓存中key为test的项目 if (mc.KeyExists("test"))
{
Console.WriteLine("test is Exists");
Console.WriteLine(mc.Get("test").ToString());
}
else
{
Console.WriteLine("test not Exists");
}
Console.ReadLine(); SockIOPool.GetInstance().Shutdown(); //关闭池, 关闭sockets
}
}
}

分布式缓存系统Memcached简介与以及在.net下的实践(转)

是个不错的东西 ,使用起来也很方便,php ,ruby 的项目中用这个的很多,但是.net项目中用的较少(恕俺孤陋寡闻) 。希望有兴趣的朋友们 多多交流 。

=============================================

补充:MemCatch基础原理

Socket 服务器端
数据:键值对存储
内存处理的算法:
•本质就是一个大的哈希表。key最大长度是255个字符。
•内存模型:Memcache预先将可支配的内存空间进行分区(Slab),每个分区里再分成多个块(Chunk)大小1MB,但同一个分区里:块的长度(bytes)是固定的。
•插入数据:查找适合自己长度的块,然后插入,会有内存浪费。
•LRU,闲置>过期  >最少访问    
•惰性删除:它并没有提供监控数据过期的机制,而是惰性的,当查询到某个key数据时,如果过期那么直接抛弃。
l集群搭建原理:
•Memcache服务器端并没有提供集群功能,但是通过客户端的驱动程序实现了集群配置。
•客户端实现集群的原理:首先客户端配置多台集群机器的ip和端口的列表。然后客户端驱动程序在写入之前,首先对key做哈希处理得到哈希值后对总的机器的个数进行取余然后就选择余数对应的机器。

 Windows下使用Memcache

l下载Memcache:http://code.jellycan.com/Memcache/
l将服务程序拷贝到一个磁盘上的目录
l安装服务:cmd→Memcached.exe -d install 打开服务监控窗口可以查看服务是否启动。
l启动服务:cmd→Memcached.exe -d start(restart重启,stop关闭服务)
l检查服务是否启动:连接到Memcache控制台:telnet ServerIP 11211  输入命令:stats检查当前服务状态。
l卸载服务:Memcached.exe -d uninstall(先关闭服务)
l遇到问题:win8下安装服务。无法启动此程序,因为计算机中丢失 MSVCR71.dll。尝试重新安装该程序以解决此问题。下载dll地址:http://www.dll-files.com/dllindex/dll-files.shtml?msvcr71
 
 
 
aaarticlea/png;base64,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" alt="" />
 

MemcacheHelper

public static class MemCacheHelper
{
private static MemcachedClient mc;
static MemCacheHelper()
{
string[] serverlist = { "192.168.3.2:11211", "10.0.0.132:11211" };//写配置文件中
//初始化池
SockIOPool pool = SockIOPool.GetInstance();
pool.SetServers(serverlist); pool.InitConnections = ;
pool.MinConnections = ;
pool.MaxConnections = ; pool.SocketConnectTimeout = ;
pool.SocketTimeout = ; pool.MaintenanceSleep = ;
pool.Failover = true; pool.Nagle = false;
pool.Initialize(); // 获得客户端实例
mc = new MemcachedClient();
mc.EnableCompression = false;
} /// <summary>
/// 获取缓存中的值
/// </summary>
/// <param name="key"></param>
/// <returns></returns>
public static object Get(string key)
{
return mc.Get(key);
} /// <summary>
/// 向缓存中插入值
/// </summary>
/// <param name="key"></param>
/// <param name="value"></param>
public static void Insert(string key,object value)
{
mc.Set(key, value);
} /// <summary>
/// 向缓存中插入值
/// 设置过期时间
/// </summary>
/// <param name="key"></param>
/// <param name="value"></param>
/// <param name="datetime">过期时间</param>
public static void Insert(string key, object value, DateTime datetime)
{
mc.Set(key, value, datetime);
}
/// <summary>
/// 删除缓存中的值
/// </summary>
/// <param name="key"></param>
/// <returns></returns>
public static bool Delete(string key)
{
if (mc.KeyExists(key))
{
return mc.Delete(key);
}
return false;
}

在配置configuration文件中添加节点:

<appSettings>
<add key="Test" value="Test"/>
</appSettings>

Cookie+Memcache模拟Session保持登录状态

l创建登陆页面
l使用Memcache记录登录用户信息
l用Cookie模拟登录用户的会话
l用户登录成功之后,在往客户端写入一个cookie信息【生成一个会话id】来标识当前用户对应的会话信息。然后后续的所有的请求过来时候,从cookie中读取会话相关的id,然后在memcache中查找对应数据,如果为空那么就是没有登录或者会话超时了。如果不为空那么表示用户已经登录。

调用方法:

/// <summary>
/// 使用Memcache代替Session解决数据在不同Web服务器之间共享的问题。
/// </summary>
/// <param name="userName"></param>
public void MemcacheRespCookies(string userName)
{
string sessionId = Guid.NewGuid().ToString();//作为Memcache的key
Common.MemcacheHelper.Set(sessionId, Common.SerializerHelper.SerializeToString(userName), DateTime.Now.AddMinutes());//使用Memcache代替Session解决数据在不同Web服务器之间共享的问题。
Response.Cookies[LOGINUSER].Value = sessionId;//将Memcache的key以cookie的形式返回到浏览器端的内存中,当用户再次请求其它的页面请求报文中会以Cookie将该值再次发送服务端。
}

总结的不错  有些文件也是可以下载的

分布式缓存 memcache学习

高性能文件缓存key-value存储—Memcached

分布式缓存系统Memcached简介与以及在.net下的实践(转)的更多相关文章

  1. 分布式缓存系统Memcached简介与实践

    缘起: 在数据驱动的web开发中,经常要重复从数据库中取出相同的数据,这种重复极大的增加了数据库负载.缓存是解决这个问题的好办法.但是ASP.NET中的虽然已经可以实现对页面局部进行缓存,但还是不够灵 ...

  2. 分布式缓存系统Memcached简介与实践&lpar;&period;NET memcached client library&rpar;

    缘起: 在数据驱动的web开发中,经常要重复从数据库中取出相同的数据,这种重复极大的增加了数据库负载.缓存是解决这个问题的好办法.但是ASP.NET中的虽然已经可以实现对页面局部进行缓存,但还是不够灵 ...

  3. 分布式缓存BeIT Memcached简介

    分布式缓存BeIT Memcached简介 或许你还没有用到过分布式缓存,在web集群的情况下,它可以很好的让一部分常用数据常驻服务器内存而不用担心各台web不同步.下面稍微介绍一下beitmemca ...

  4. 分布式缓存系统 Memcached 整体架构

    分布式缓存系统 Memcached整体架构 Memcached经验分享[架构方向] Memcached 及 Redis 架构分析和比较

  5. 分布式缓存BeIT Memcached简介(转载)

    或许你还没有用到过分布式缓存,在web集群的情况下,它可以很好的让一部分常用数据常驻服务器内存而不用担心各台web不同步.下 面稍微介绍一下beitmemcached对于.net的支持,官方参考htt ...

  6. php分布式缓存系统 Memcached 入门

    Memcached 是一个分布式的缓存系统, 但是 Memcachd 到底是什么意思,有什么作用呢?缓存一般用来保存一些经常被存取的数据和资源(例如:浏览器会将访问过的网页会话缓存起来),因为通过缓存 ...

  7. &lbrack;Memcached&rsqb;分布式缓存系统Memcached在Asp&period;net下的应用

    Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态.数据库驱动网站的速度.Memcached ...

  8. (转)C&num; 中使用分布式缓存系统Memcached

    转自:http://blog.csdn.net/devgis/article/details/8212917 缘起: 在数据驱动的web开发中,经常要重复从数据库中取出相同的数据,这种重复极大的增加了 ...

  9. 分布式缓存系统Memcached在Asp&period;net下的应用

    Memcached 是一个高性能的分布式内存对象缓存系统.用于动态Web应用以减轻数据库负载.它通过在内存中缓存数据和对象来降低读取数据库的次数,从而提高动态.数据库驱动站点的速度. Memcache ...

随机推荐

  1. 2&period;5 ListView

    ListView的工作原理如下: ListView 针对每个item,要求 adapter "返回一个视图" (getView),也就是说ListView在开始绘制的时候,系统首先 ...

  2. Ubuntu虚拟机JeOS安装-2016&period;08&period;28

    根据官网的说明JeOS的镜像已经在官方不发行了,所以你在别的帖子里看到的安装jeos的镜像地址已经不适用了. 那么应该如何安装这种最小版本的linux操作系统呢? 其一,如果想要安装老版本的jeos系 ...

  3. poj 2349 Arctic Network

    http://poj.org/problem?id=2349 Arctic Network Time Limit: 2000MS   Memory Limit: 65536K Total Submis ...

  4. hdu 1241 Oil Deposits(DFS求连通块)

    HDU 1241  Oil Deposits L -DFS Time Limit:1000MS     Memory Limit:10000KB     64bit IO Format:%I64d & ...

  5. Android 开源控件系列&lowbar;2

    FileBrowserView 一个强大的文件选择控件.界面比较漂亮,使用也很简单.特点:可以自定义UI:支持复制.剪切.删除.移动文件:可以用在Fragment.ativity.DialogFrag ...

  6. Git合并分支命令:git merge --ff

    今天研究了一下git merge命令常用参数,并分别用简单的例子实验了一下,整理如下: 输入git merge -h可以查看相关参数: --ff  快速合并,这个是默认的参数.如果合并过程出现冲突,G ...

  7. 03-TypeScript中的强类型

    在js中不能定义类型,而是根据赋值后,js运行时推断类型.在ts中支持强类型,强类型包括string.number(浮点型,不是整型).boolean.any(任意类型).Array<T> ...

  8. Perl多线程&lpar;2&rpar;:数据共享和线程安全

    线程数据共享 在介绍Perl解释器线程的时候一直强调,Perl解释器线程在被创建出来的时候,将从父线程中拷贝数据到子线程中,使得数据是线程私有的,并且数据是线程隔离的.如果真的想要在线程间共享数据,需 ...

  9. ViewPager&plus;Fragment实现滑动切换页面

    1.实现思路 主界面四个导航按钮使用RadioButton,通过Selector 设置它的drawableTop属性来设置所显示的图片.通过 FragmentPagerAdapter 实现切换. 2. ...

  10. ansible批量管理工具的搭建与简单的操作

    ansible的安装 # [root@localhost ~]# cat /etc/redhat-release CentOS Linux release (Core) [root@localhost ...