s a teencama searcho Top search%C5%B7%C3%C0%B3%C9%C8%CB%CE%DE%C2%EBBT%CF%C2%D4%D8分布式缓存Memcached2011-04-24 22:06 by Lawson, 13 visits, 网摘, 收藏, 编辑Memcached是LiveJournal()旗下的Danga Interactive()公司开发的一款高效的分布式内存缓存服务器,它是一个开源的项目,既支持Linux,Mac os等系统,还支持windows系统。 在Memcached项目官网上,,可以看到他现在的用户列表,pedia(),Twitter(),Youtube(),Digg(),WordPress.com()等等都是世界相当相当出名的互联网网站。
Libevent事件机制 Memcached基于libevent事件处理,用相关资料上描述,libevent是个程序库,它将Linux的epoll、BSD类操作系统的kqueue等事件处理功能封装成统一的接口。即使对服务器的连接数增加,也能发挥O(1)的性能。 Memcached服务器,缓存数据都是以Key-value hash表的内存存储,最大key不超过250个字符,最大value项默认不超过1M,因此重启程序和服务器都会导致数据丢失,但它会消耗更低的CPU,因此可以用配置一般内存大点的服务器作为memcached服务器。在内容超过制定缓存大小后,会用LRU,最近最少使用算法删除不使用的数据,默认超时时间为30天。Memcached服务器之间互不通信,分布式算法在客户端,由客户端选择把数据存储到哪台memcached 服务器上,比如.net客户端,一般默认采用key的hashcode来模memcached服务器数量取余的值,作为选择当前key-value存储的服务器,当然系统足够庞大后,可以编写更加复杂和为具体项目做的算法。 下面我以windows下memcached 服务器和.net的memcached客户端为例,介绍下它的安装和使用。 我用的windows下memcached1.2.6版本,在memcached/可以下载,.net客户端采用的projects/memcacheddotnet/下的开源客户端,当然也可以参考memcached服务器的协议接口,编写自定义的客户端。 下载好memcached服务器端后,解压到比如D:\memcached-1.2.6,在cmd命令控制台下,输入d:\memcached\memcached.exe -d install就安装好memcached的windows服务,然后输入d:\memcached\memcached.exe -d start则启动该服务,客户端就可以连接了,默认端口是11211,最大内存为64M,一般会修改,输入d:\memcached\memcached.exe -p 12345 -m 1024 -d start,其中-d install 安装为Windows服务, -m 使用的最大内存(MB),默认64M, 还有-l 绑定的IP,-c 最大并发连接数,默认1024,但一般不会起作用,需要修改注册表,在注册表找到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\memcached Server, 找到ImagePath项,把"d:\memcached\memcached.exe" -d runservice [c#]来上海两周了,面试及面试题 (佚名,08-11) > 来上海两周了,面试及面试题 到了上海已经两周了,过的还真是快,第一周熟悉环境,第二周开始看书、面试。已经面试了两个公司,经历了四轮面试了,发现自己在各个方面都有很多不足的地方,针对这些来看书学习,进步挺大的,这也正是我辞职来上海的目的。有一个面试已经到了最后一轮,要直接和…… [c#]C#指定窗口显示位置的方法 (佚名,08-11) > C#指定窗口显示位置的方法 C#指定窗口显示位置的方法 在启动一个程序时,我们希望窗口显示的位置处于屏幕的正中心,可以如下设置: MainForm mainForm = new MainForm(); mainForm.StartPosition = FormStartPos…… [c#]选择设置comboBox默认值 (佚名,04-20) > 选择设置comboBox默认值 for (int i = 1; i <= 10; i++) {}; foreach (string s in st…… |
|
快速搜索 |
|
推荐文章 |
|
文章点击排行 |