Memcached(一):基本应用
来源:互联网 发布:java基础教程 csdn 编辑:程序博客网 时间:2024/06/06 02:32
一直在用Memcached,但从来没有静一下来想一下它的长短项。这里对它做一个系统的总结。
准备工作
下载Memcached服务端(memcached.exe)
下载memcached客户端(我用的是C#,所以下.net版;您也根据需要下载对应的版本,如PHP)
Memcached是什么?
Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库驱动网站的速度。
如何创建Memcached服务器?
操作很简单:
1.下载memcache的windows稳定版,解压放某个盘下面,比如在F:/Memcached
2. 输入安装命令,输入启动命令。(我写了一个批文件)具体可看说明,安装命令。
以管理员身份运行,即可。
注意:在此过程中出现一个问题,
去网上下载pthreadGC2.dll文件,放在了在C:/Windows/System32/下
在客户端如何使用?
1.下载BeITMemcached客户码源码http://code.google.com/p/beitmemcached/downloads/detail?name=BeITMemcached_source_2010_08_04.zip(您可以直接下载相关的程序集,我只是研究的需要才下源码)
2. 封装客户端方便使用:
3 在应用程序中使用:
通常对Memcached客户端进行封装的方法
有些实用主义,挺有用。
这里有BeITMemcached所有的方法,你可以根据需要进行封装 。
创建分布式缓存服务器
memcached为了减少单个memcached的负载,我们可以创建多个memcached服务,具体创建数量根据实现的需求而定。
例如:可以在一台机器上运行多个实例,如果把多个memcached,注册为服务,通过SC命令我们可以创建服务。
Memcached应用长项
1.Memcached 节省了磁盘读写、数据库连接、Sql解析资源;它是使用内存来管理数据的, 所以它可以提供比直接读取数据库更好的性能。在大型系统中,访问同样的数据是很频繁的,memcached可以大大降低数据库压力,所以它一般作为数据库前端使用。
2.Memcached是分析式的,解决了.net分布式缓存的劣势。
3.memcached也经常作为服务器之间数据共享的存储媒介,例如在SSO系统中保存系统单点登陆状态的数据就可以保存在memcached中,被 多个应用共享。
Memcached的短项
1.那些不需要“分布”的,不需要共享的,或者干脆规模小到只有一台服务器的应用, memcached不会带来任何好处,相反还会拖慢系统效率(慢几十倍,如果与本地缓存相比),因为网络连接同样需要资源;所以此应该使用本地缓存。
2.Memcached是将数据放在内存中,不是持久化存储,一旦服务器重启,数据将会丢失。
3.Memcached的瓶颈是网络连接(因为它没有复杂的操作),所以会出现千兆网络带宽都满负荷了,但CPU资源占用并不高的情况。
说明
一、安装命令
-p 监听的端口
-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 显示帮助
排错用的常用命令:
1.telnet到memcache服务器,如:telnet 192.168.103.11 11211(11211是memcache的默认端口)
2.stats 查看基本信息
3.stats items 可以看到出现 很多的items行
4.stats cachedump 3 0(3是items后面的数字,0表示显示所有的)
5.get key(key 为 item后面的字符串即键)
第二篇:Memcached(二):Memcached的结构、存储规则探索
资源:
下载地址 http://www.memcached.org/
memcached 分布式算法 http://tech.idv2.com/2008/07/24/memcached-004/
- Memcached(一):基本应用
- memcached之memcached的应用(一)
- memcached之memcached的应用(一)
- memcached的应用(一)
- memcached基础-安装和基本是应用
- XMPP基本应用一
- memcached应用
- jQuery应用(一)--基本操作
- Fragment基本应用(一)
- Memcached 一
- Memcached高速缓存服务器部署及应用(一、Memcached在Windows平台下安装与配置)
- memcached的基本设置
- memcached基本处理流程
- memcached基本使用方法介绍
- memcached基本问题问答
- memcached的基本设置
- memcached基本命令学习
- memcached基本问题
- Javascript的变量与作用域
- struts2文件上传和下载
- SharePoint 获取SPField 相关信息
- 预处理器标识
- 深入理解Javascript闭包
- Memcached(一):基本应用
- js/jquery cookie 设置
- PHP POST GET 方法简单范例
- [转]DataTable的数据批量写入数据库三种方法比较
- 【转】 Ripple [水波] 程序实现水波效果 水纹特效 算法
- hibernate按时间段查询带时分秒日期的方法
- JS调用Flash和Flash调用JS
- asm-giude阅读笔记001(ASM引擎库的简单介绍)
- IMS网络的功能实体介绍