memcache客户端下载 http://code.google.com/p/memcached/wiki/Clients ----------------------------------------------------------------------------------------------------------------------------------- memcached是什么? 许多Web应用都将数据保
memcache客户端下载
http://code.google.com/p/memcached/wiki/Clients
-----------------------------------------------------------------------------------------------------------------------------------
memcached是什么?
许多Web应用都将数据保存到DBMS中,应用服务器从中读取数据并在浏览器中显示。 但随着数据量的增大、访问的集中,就会出现RDBMS的负担加重、数据库响应恶化、 网站显示延迟等重大影响。
memcached 是以LiveJournal 旗下Danga Interactive 公司的Brad Fitzpatric 为首开发的一款软件。memcached是高性能的分布式内存缓存服务器,也就是可以允许不同主机上的多个用户同时访问这个缓存系统,这种方法不仅解决了共享内存只能是单机的弊端,同时也解决了数据库检索的压力,最大的优点是提高了访问获取数据的速度。 一般的使用目的是,通过缓存数据库查询结果,减少数据库访问次数,以提高动态Web应用的速度、 提高可扩展性。一般情况下memcached的用途如下:
Memcached的内置内存存储方式
为了提高性能,memcached中保存的数据都存储在memcached内置的内存存储空间中。由于数据仅存在于内存中,因此重启memcached、重启操作系统会导致全部数据消失。另外,内容容量达到指定值之后,就基于LRU(Least?Recently?Used)算法自动删除不使用的缓存。memcached本身是为缓存而设计的服务器,因此并没有过多考虑数据的永久性问题。所以我们在取值时,应考虑缓存中的数据已经被替换掉或者是程序员自已对数据置了过期时间的情况。即应判断 get(key)==null的情况。
Memcached的架构:
memcached尽管是“分布式”缓存服务器,但服务器端并没有分布式功能。各个memcached不会互相通信以共享信息。那么,怎样进行分布式完全取决于客户端的实现。
memcached的分布式:
我们采用的memcached for java client所使用的分布式算法是Consistent?Hashing算法。
windows下memCached服务器端搭建:
1.?????? 下载 memcache(http://jehiah.cz/projects/memcached-win32/)的windows稳定版,解压到某一路径,即为memcached_home。
2.?????? 在终端(也即cmd命令界面)下输入 ‘%memcached_home%"memcached.exe -d install’ 安装
3.?????? 再输入: ‘%memcached_home%"memcached.exe -d start’ 启动。注意: 以后memcached将作为windows的一个服务每次开机时自动启动,这样服务器端已经安装完毕了。
4.?????? Memcached常用参数说明:
memcached -d –m 1024? -l 192.200.1.75 -p 11211
-d 以守护程序(daemon)方式运行 memcached;
-m 设置 memcached可以使用的内存大小,单位为 M;
-l 设置监听的 IP 地址,如果是本机的话,通常可以不设置此参数;
-p 设置监听的端口,默认为 11211,所以也可以不设置此参数;
Linux下的安装:
memcached安装与一般应用程序相同,configure、make、make?install就行了。
$?wget?http://www.danga.com/memcached/dist/memcached-1.2.5.tar.gz
$?tar?zxf?memcached-1.2.5.tar.gz
$?cd?memcached-1.2.5
$?./configure
$?make
$?sudo?make?install
默认情况下memcached安装到/usr/local/bin下。
从终端输入:$?/usr/local/bin/memcached?-p?11211?-m?64m?-vv即可启动memcached
Memcached的java客户端的使用。
1.?????? 下载Memcached 的java客户端包( http://www.whalin.com/memcached/#download)
2.?????? 根据不同版本构建到工程中。
3.?????? 由于Memcached的客户端在处理大对象的序列化时,效率较差,通过hessian的序列化工具进行了相应模块的替换。优化后的memcached java client 加入到项目构建路径中即可。
4.?????? 调用方法详见API。
5.?????? 依赖的包及生成后的memcached的包:
-----------------------------------------------------------------------------------------------------------------------------------
Memcached?是danga.com(运营LiveJournal的技术团队)开发的一套分布式内存对象缓存系统,用于在动态系统中减少数据库负载,提升性能。
??? 网上有很多讲到Memcached For Linux的安装教程,但是Memcached For Win32 and Python的就甚少,偶尔google找到一篇
比较相近的英文教程,觉得很不错就打算翻译下来,并且写一个Hello World的memcached实例。
安装部分来自 原文?
1.下载 memcached 1.2.1 for Win32?.
?
2.把memcached-1.2.1-win32.zip解包到你想要的路径下?(如:C:/memcached-1.2.1-win32)
?
3.打开命令行(在开始菜单中的"运行",输入"cmd"),使用以下的命令安装:?
?
- C:/memcached-1.2.1-win32/memcached.exe?-d?install??
安装完成之后,再执行以下命令来启动memcached:
- C:/memcached-1.2.1-win32/memcached.exe?-d?start????
这样memcached会使用默认的端口(11211)来启动,启动成功的话,你可以在任务管理器中看到memcached.exe
?
?
4.为了和memcached通信,你需要安装一个memcached客户端?,来对memcached做“增删改”操作。memcached有很多个客户
端程序可以使用,对应于各种语言,有各种语言的客户端。基于C语言的有libmemcache、 APR_Memcache;基于Perl的有Cache::Memcached;另外还有Php、Python、Ruby、Java、C#等语言的支持。其中PHP的客户端是最多的,你可以在网上搜
索到大部分,这里我只介绍python的客户端。
5.获取最新版的memcached python客户端: python-memcached-latest.tar.gz?
6.把python-memcached-latest.tar.gz解压到任意路径?(如c:/python-memcached-1.45)
7.在命令行中cd到c:/python-memcached-1.45目录下:?
?
- cd?c:/python-memcached-1.45??
?
8.然后运行以下命令安装python-memcached:?
- python?setup.py?build??
- python?setup.py?install??
这样python-memcached就成功安装到python库中。如果提示ImportError: No module named setuptools?,请先安装
setuptools for win32?。
9.运行以下代码来测试python-memcached是否成功安装?
[python]? view plain copy
- import?memcache??
- #创建连接??
- mc_client?=?memcache.Client(['127.0.0.1:11211'],?debug=0)??
- #写、读??
- mc_client.set("key_a",?"value_a")??
- value?=?mc_client.get("key_a")??
- print?"key_a?'s?value?in?memcached?is:?%s"?%(value)??
- #删??
- mc_client.delete("key_a")??
- value?=?mc_client.get("key_a")??
- print?"key_a?'s?value?in?memcached?after?deleted?is:?%s"?%(value)??
- #自增、自减??
- mc_client.set("count_key",?"11")??
- value?=?mc_client.get("count_key")??
- print?"general?value:?",?value??
- mc_client.incr("count_key")??
- value?=?mc_client.get("count_key")??
- print?"general?value?after?increment:?",?value??
- mc_client.decr("count_key")??
- value?=?mc_client.get("count_key")??
- print?"general?value?after?decrement:?",?value??
成功的话会显示以下内容:
?
- key_a?'s?value?in?memcached?is:?value_a??
- key_a?'s?value?in?memcached?after?deleted?is:?None??
- general?value:??11??
- general?value?after?increment:??12??
- general?value?after?decrement:??11??
至此,Memcached For Win32 和 Memcached Python Client安装完成。
-------------------------------------------------------------------------------------------------------------
Memcached是被广泛使用的分布式缓存技术。不同的语言有不同的Memcached客户端程序,对于Java客户端来说,首推Memcached Java Client(http://github.com/gwhalin/Memcached-Java-Client )。
这次,Memcached Java Client推出的2.6.1发布版是基于全新的performance分支,具有如下重大改进:
- 较之老版本,在性能上有300%左右的提升;
- 兼容老版本,用户无须修改自己的源代码;
- 支持多个memcached协议,包括text,udp和binary协议;
- 支持SASL认证机制;
- 重新实现的连接池,修复了之前的连接数太多所导致的OutOfMemory异常;
- 加入了slf4j logger支持,使得开发人员可以方便的记录日志;
- 支持自定义的对象序列化方法。
这个分支由Schooner Information Technology贡献,并由Schooner中国团队完成开发,开发者是:
王新根,new.root@gmail.com;
李蒙,jowett.lee@gmail.com。
可以从这里下载二进制包:https://github.com/gwhalin/Memcached-Java-Client/downloads
源代码在github上,http://github.com/gwhalin/Memcached-Java-Client ,然后选择performance分支。
下面是一些性能测试的数据,包括了当前流行的Memcached Java Client。
其中,schooner指的是这个分支的text protocol, schooner_bin指的是binary protocol。
?
?
?
?
作者:zeo112140 发表于2013-6-8 11:41:06 原文链接
阅读:13 评论:0 查看评论
原文地址:[转]memCached 客户端, 感谢原作者分享。

MySQL通过异步、半同步和组复制三种模式处理数据复制。1)异步复制性能高但可能丢失数据。2)半同步复制提高数据安全性但增加延迟。3)组复制支持多主复制和故障转移,适用于高可用性需求。

EXPLAIN语句可用于分析和提升SQL查询性能。1.执行EXPLAIN语句查看查询计划。2.分析输出结果,关注访问类型、索引使用情况和JOIN顺序。3.根据分析结果,创建或调整索引,优化JOIN操作,避免全表扫描,以提升查询效率。

使用mysqldump进行逻辑备份和MySQLEnterpriseBackup进行热备份是备份MySQL数据库的有效方法。1.使用mysqldump备份数据库:mysqldump-uroot-pmydatabase>mydatabase_backup.sql。2.使用MySQLEnterpriseBackup进行热备份:mysqlbackup--user=root--password=password--backup-dir=/path/to/backupbackup。恢复时,使用相应的命

MySQL慢查询的主要原因包括索引缺失或不当使用、查询复杂度、数据量过大和硬件资源不足。优化建议包括:1.创建合适的索引;2.优化查询语句;3.使用分表分区技术;4.适当升级硬件。

MySQL视图是基于SQL查询结果的虚拟表,不存储数据。1)视图简化复杂查询,2)增强数据安全性,3)维护数据一致性。视图是数据库中的存储查询,可像表一样使用,但数据动态生成。

mysqldiffersfromothersqldialectsinsyntaxforlimit,自动启动,弦乐范围,子征服和表面上分析。1)MySqluessLipslimit,whilesqlserverusestopopandoraclesrontersrontsrontsrontsronnum.2)

MySQL分区能提升性能和简化维护。1)通过按特定标准(如日期范围)将大表分成小块,2)物理上将数据分成独立文件,3)查询时MySQL可专注于相关分区,4)查询优化器可跳过不相关分区,5)选择合适的分区策略并定期维护是关键。

在MySQL中,如何授予和撤销权限?1.使用GRANT语句授予权限,如GRANTALLPRIVILEGESONdatabase_name.TO'username'@'host';2.使用REVOKE语句撤销权限,如REVOKEALLPRIVILEGESONdatabase_name.FROM'username'@'host',确保及时沟通权限变更。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

EditPlus 中文破解版
体积小,语法高亮,不支持代码提示功能

SublimeText3汉化版
中文版,非常好用

MinGW - 适用于 Windows 的极简 GNU
这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

mPDF
mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),

DVWA
Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中