ImageVerifierCode 换一换
格式:DOCX , 页数:39 ,大小:41.35KB ,
资源ID:4726562      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4726562.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(MemCached说明.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

MemCached说明.docx

1、MemCached说明一、安装Memcached及Memcached配置和状态查询 要想使用Memcached做缓存首先需要安装Memcached服务,安装方法如下: 1. 下载Memcached: 现在的最新版本是1.2.6.注意下载正确的版本,windows 服务的话下载win32 binary。 2.解压之后放在硬盘的目录下,如:D:memcached. 然后在运行中输入cmd进入命令行,进入到Memcached.exe 所在的目录,例如:D:memcached,然后输入:Memcached d install,即可完成安装。 Memcached还有其他的一些常用的命令如下: -p 监听

2、的端口 -l 连接的IP地址, 默认是本机 -d start 启动memcached服务 -d restart 重起memcached服务 -d stop|shutdown 关闭正在运行的memcached服务 -d install 安装memcached服务 -d uninstall 卸载memcached服务 -u 以的身份运行 (仅在以root运行的时候有效) -m 最大内存使用,单位MB。默认64MB -M 内存耗尽时返回错误,而不是删除项 -c 最大同时连接数,默认是1024 -f 块大小增长因子,默认是1.25 -n 最小分配空间,key+value+flags默认是48 -h 显

3、示帮助 按照上面的安装步骤安装之后,使用memcached m 200来调整最大内存占用之后会发现没有起作用,总是默认的64MB的内存,在网上搜了一下,原因是注册表中并没有写入信息,可以这样来修改。 1. memcached d shutdown 首先关闭memcached服务。 2.进入注册表,找到HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesmemcached Server, 在其中有一个ImagePath项,值为d:memcachedmemcached.exe -d runservice,在后面加上-l 127.0.0.1 -m 300

4、0 -c 2048。 3.memcached d start 启动memcached服务,这样就将memcached的最大内存修改为了3000MB。 对Memcached缓存服务的状态查询,可以先telnet连接上服务:telnet 127.0.0.1 11211 ,然后使用 stats命令查看缓存服务的状态,会返回如下的数据: time: 1255537291 服务器当前的unix时间戳 total_items: 54 从服务器启动以后存储的items总数量 connection_structures: 19 服务器分配的连接构造数 version: 1.2.6 memcache版本 lim

5、it_maxbytes: 67108864 分配给memcache的内存大小(字节) cmd_get: 1645 get命令(获取)总请求次数 evictions: 0 为获取空闲内存而删除的items数(分配给memcache的空间用满后需 要删除旧的items来得到空间分配给新的items) total_connections: 19 从服务器启动以后曾经打开过的连接数 bytes: 248723 当前服务器存储items占用的字节数 threads: 1 当前线程数 get_misses: 82 总未命中次数 pointer_size: 32 当前操作系统的指针大小(32位系统一般是32

6、bit) bytes_read: 490982 总读取字节数(请求字节数) uptime: 161 服务器已经运行的秒数 curr_connections: 18 当前打开着的连接数 pid: 2816 memcache服务器的进程ID bytes_written: 16517259 总发送字节数(结果字节数) get_hits: 1563 总命中次数 cmd_set: 54 set命令(保存)总请求次数 curr_items: 28 服务器当前存储的items数量 二、在Discuz NT 3.0中配置Memcached服务 在Discuz NT 3.0中配置Memcached服务较为简单,

7、找到论坛根目录下的config目录,找到Memcached.config,打开,进行如下配置: (1) (2) DiscuzNT_MemCache 3 3 5 1000 3000 30 true true (1)处为true”的时候表示Discuz NT打开Memcached缓存功能,为false”的时候表示关闭Memcached缓存功能。 (2)处填写Memcached服务器的IP地址+端口,例如:127.0.0.1:11211 三、二次开发监控Memcached状态 Discuz NT的一个好处就是开源的,并且我们能够再上面很灵活的进行二次开发,这里,我们就以监控Memcached状态为例

8、来做一个二次开发。具体的步骤是: 1.下载Memcached的.Net的开发包,下载地址是: 2.在visual studio 2005或者2008中建立一个类库,例如命名为:MyBBS.BBS.Plugin.MemcachedStats,然后在项目点击右键,选择属性,将默认命名空间修改为:Discuz.Web,如图: 3.将Memcached的.Net开发包解压,将将 Commons.dll,ICSharpCode.SharpZipLib.dll,log4net.dll,Memcached.ClientLibrary.dll 等放到bin目录,并且在项目中引用Memcached.Client

9、Library.dll. 4.在项目中引用Discuz.Forum. 5.在项目中增加类,命名为memcachedstats.cs.记得最好是小写,继承自Discuz.Forum.PageBase。然后在类中override showpage()函数,我们就可以在这里来写代码了,如下: using System; using System.Collections.Generic; using System.Text; using System.Data; using System.Collections; using M=Memcached.ClientLibrary; namespace D

10、iscuz.Web public class memcachedstats:Discuz.Forum.PageBase public string MemcachedStatsOutput = string.Empty; protected override void ShowPage() base.ShowPage(); string servers = 此处填写Memcachedf服务IP+端口 ; M.SockIOPool pool = M.SockIOPool.GetInstance(); pool.SetServers(servers); pool.InitConnections =

11、 3; pool.MinConnections = 3; pool.MaxConnections = 5; pool.SocketConnectTimeout = 1000; pool.SocketTimeout = 3000; pool.MaintenanceSleep = 30; pool.Failover = true; pool.Nagle = false; pool.Initialize(); this.pagetitle = MemcachedStats; M.MemcachedClient mc = new Memcached.ClientLibrary.MemcachedCli

12、ent(); StringBuilder sb = new StringBuilder(); Hashtable ht = mc.Stats(); sb.AppendLine(Memcached Stats:); sb.AppendLine(_); foreach (DictionaryEntry de in ht) Hashtable info = (Hashtable)de.Value; foreach (DictionaryEntry de2 in info) sb.AppendLine(de2.Key.ToString() + :     + d

13、e2.Value.ToString() + ); MemcachedStatsOutput = sb.ToString(); 这样我们就将代码完成了,我们将Memcached服务的状态信息保存到了MemcachedStatsOutput 这个字段中了,那么我们怎么在页面上显示出来呢?在进行下一步之前,编译输出MyBBS.BBS.Plugin.MemcachedStats.dll然 后上传到论坛根目录的bin目录下。 6.在论坛根目录下面的templetedefault中新建memcachedstats.htm,写入下面的代码: config.forumtitle » Memcach

14、ed Stats Memcached Stats MemcachedStatsOutput 这里我们重点注意红色的部分,我们就是在这里来把我们上面的类库里面的MemcachedStatsOutput字段在这里输出的。 7.进入论坛后台管理系统,点击“界面风格”“模板管理”“default”,这时我们就可以看到出现了memcachedstats这个模板了,勾中前面的复选框,然后选择“按选择的模板文件生成页面”。 8.上面的工作完成之后,我们在浏览器中输入:您的论坛地址memcachedstats.aspx,就可以看到统计的Memcached服务的信息了,如图: 四、结束语与参考信息 怎么样,还是

15、很简单的吧,当然这里仅仅是做了最基本的开发了,不过相信这些弄清楚了,其它的开发就不是很复杂了,大家也都可以开发出自己更多丰富多彩的功能了。 下面列出的是其他的一些参考资料,希望对大家有帮助: Discuz NT 界面模板的基本语法: Memcached的安装: 网友编写的用php代码展示Memcached状态的代码: 0 Comments memcached完全剖析1. memcached的基础时间:2009-06-14 11:00:02来源:网络 作者:未知 点击:177次 我是mixi株式会社开发部系统运营组的长野。日常负责程序的运营。从今天开始,将分几次针对最近在Web应用的可扩展性领域

16、的热门话题memcached,与我公司开发部研究开发组的前坂一起,说明其内部结构和使用。 我是mixi株式会社开发部系统运营组的长野。日常负责程序的运营。从今天开始,将分几次针对最近在Web应用的可扩展性领域的热门话题memcached,与我公司开发部研究开发组的前坂一起,说明其内部结构和使用。 memcached是什么? memcached的特征 协议简单 基于libevent的事件处理 内置内存存储方式 memcached不互相通信的分布式 安装memcached memcached的安装 memcached的启动 用客户端连接 使用Cache:Memcached 使用Cache:Memc

17、ached连接memcached 保存数据 获取数据 删除数据 增一和减一操作 总结 memcached是什么? memcached是以LiveJournal旗下Danga Interactive公司的Brad Fitzpatric为首开发的一款软件。现在已成为mixi、hatena、Facebook、Vox、LiveJournal等众多服务中提高Web 应用扩展性的重要因素。 许多Web应用都将数据保存到RDBMS中,应用服务器从中读取数据并在浏览器中显示。但随着数据量的增大、访问的集中,就会出现RDBMS的负担加重、数据库响应恶化、网站显示延迟等重大影响。 这时就该memcached大显身

18、手了。memcached是高性能的分布式内存缓存服务器。一般的使用目的是,通过缓存数据库查询结果,减少数据库访问次数,以提高动态Web应用的速度、提高可扩展性。 图1 一般情况下memcached的用途 memcached的特征 memcached作为高速运行的分布式缓存服务器,具有以下的特点。 协议简单 基于libevent的事件处理 内置内存存储方式 memcached不互相通信的分布式 协议简单 memcached的服务器客户端通信并不使用复杂的XML等格式,而使用简单的基于文本行的协议。因此,通过telnet 也能在memcached上保存数据、取得数据。下面是例子。 $ telnet

19、 localhost 11211 Trying 127.0.0.1. Connected to localhost.localdomain (127.0.0.1). Escape character is . set foo 0 0 3 (保存命令) bar (数据) STORED (结果) get foo (取得命令) VALUE foo 0 3 (数据) bar (数据)协议文档位于memcached的源代码内,也可以参考以下的URL。 基于libevent的事件处理 libevent是个程序库,它将Linux的epoll、BSD类操作系统的kqueue等事件处理功能封装成统一的接口。即使

20、对服务器的连接 数增加,也能发挥O(1)的性能。 memcached使用这个libevent库,因此能在Linux、BSD、Solaris等操作系统上发挥其高性能。关于事件处理这里就不再详细介 绍,可以参考Dan Kegel的The C10K Problem。 libevent:http:/www.monkey.org/provos/libevent/ The C10K Problem: 内置内存存储方式 为了提高性能,memcached中保存的数据都存储在memcached内置的内存存储空间中。由于数据仅存在于内存中,因此重启 memcached、重启操作系统会导致全部数据消失。另外,内容容

21、量达到指定值之后,就基于LRU(Least Recently Used)算法自动删除不使用的缓存。 memcached本身是为缓存而设计的服务器,因此并没有过多考虑数据的永久性问题。关于内存存储的详细信息,本连载的第二讲以后前坂会进行介绍,请届 时参考。 memcached不互相通信的分布式 memcached尽管是“分布式”缓存服务器,但服务器端并没有分布式功能。各个memcached不会互相通信以共享信息。那么,怎样进行分布式呢?这完全取决于客户端的实现。本连载也将介绍memcached的分布式。 图2 memcached的分布式 接下来简单介绍一下memcached的使用方法。 安装memcached memcached的安装比较简单,这

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1