memcached 初学整理
程序员文章站
2022-05-23 08:51:57
...
Memcached
Memcached是一个*开源的,高性能,分布式内存对象缓存系统。 Memcached是一种基于内存的Key-Value存储,用来存储小块的任意数据(字符串、对象)。这些数据可以是数据库调用、API调用或者是页面渲染的结果。 Memcached简洁而强大。它的简洁设计便于快速开发,减轻开发难度,解决了大数据量缓存的很多问题。它的API兼容大部分流行的开发语言。 本质上,它是一个简洁的key-value存储系统。 一般的使用目的,是通过缓存数据库查询结果,减少数据库访问次数,以提高动态Web应用的速度、提高可扩展性。
Memcached 作为高速运行的分布式缓存服务器,具有以下的特点。
1、协议简单
2、基于libevent的事件处理
3、内置内存存储方式
4、Memcached不互相通信的分布式
Memcached的分布式部署极其简单,通常较小的应用一台Memcached服务器就可以满足需求,但是大中型项目可能就需要多台Memcached服务器了,这就牵涉到一个分布式部署的问题。对于多台Memcached服务器,怎么确定一个数据应该保存到哪台服务器呢?有两种方案,一是普通Hash分布,二是一致性Hash分布。普通Hash分布对于Memcached服务器数量固定的情况推荐使用,比较简单。但是当服务器数量发生改变时,问题就出来了。因为同一个KEY经Hash算法处理后,与服务器数量取模,会导致结果与服务器数量未变化时不同,这就导致之前保存的数据丢失。采取一致性Hash分布可以有效的解决这个问题,把丢失的数据减到最小(注意这里并没有说完全不丢失)。
Memcached缓存使用说明
1、下载win的安装包,貌似没有64位的安装包,反正我是没找到。下载地址:http://pan.baidu.com/s/1kTC99kj
2、首先定位到安装文件的解压目录,win7按住shift选择打开此处cmd也可以。
3、输入安装命令 memcached -d install 瞬间完成安装……
然后启动它:
手动启动:winKey+R键,输入services.msc,找到memcached启动它。
或者命令行启动:memcached -d start
停止服务:memcached -d stop
telnet 127.0.0.1 11211(默认的端口) ,输入stats,出现信息则表示ok!
java如果想要与memcached联合使用的话,需要使用memcached的客户端,这是网友们的叫法。其实就是jar包。这些jar包帮我们封装好了一些方法,避免我们自己再去实现复杂的操作了。
目前我看到有三个客户端:
1、java_memcached-release --->:danga的,我也不知道这是什么组织……,但这个客户端比较老牌的了。
2、alisoft-xplatform-asf-cache --->:阿里的
3、XMemcached --->:oschina上看到的,貌似是纯国产啊,应用的还是挺广泛的~
jar包下载地址:http://pan.baidu.com/s/1sjLQO8l
项目中整合的是 java_memcached-release 这个版本的
java_memcached-release_2.6.3.jar
commons-pool-1.5.6.jar
slf4j-api-1.6.1.jar
slf4j-simple-1.6.1.jar
Memcached 参考文档
http://www.cnblogs.com/xhb-bky-blog/p/5782444.html
MemcachedClient 客户端文档介绍
Xmemcached
http://blog.csdn.net/jthink_/article/details/43302615
http://www.360doc.com/content/16/0129/16/21365845_531490330.shtml
下一篇: memcached客户端java连接代码