您的位置:首页 > 数据库 > Memcache

java中使用MemCached

2013-05-23 10:45 183 查看
Memcached是高性能的,分布式的内存对象缓存系统, 用于在动态应用中减少数据库负载,提升访问速度。Memcached将数据库负载大幅度降低,更好的分配资源,更快速访问。

memcached虽然称为“分布式”缓存服务器,但服务器端并没有“分布式”功能,memcached的分布式,则是完全由客户端程序库实现的。 这种分布式是memcached的最大特点。

memcached的原理,当memcached向多个Server保存一条记录时,会根据特定算法生成一个“”,这个“键”决定了这条记录会被打发到哪台服务器;同样,当提取这条记录时,也会根据同样的算法得到这个“”,那么也会清楚当初是哪台服务器接收的这条记录,返回就没问题了。

memcached实现缓存共享主要是靠一个memcached的服务端进行的,我们下载Memcached_1.2.5.zip

memcached服务端的安装:

1.下载memcache的windows稳定版,解压放某个盘下面,比如在D:\memcached(本人用的1.2.6)。
2. 在终端(也即cmd命令界面)下输入 ‘D:\memcached\memcached.exe -d install’ 安装。
3. 再输入: ‘D:\memcached\memcached.exe -d start’ 启动。NOTE: 以后memcached将作为windows的一个服务每次开机时自动启动。这样服务器端已经安装完毕了。

相关服务操作命令:

-d install 安装memcached

-d uninstall 卸载memcached

-d start 启动memcached服务

-d restart 重启memcached服务

-d stop 停止memcached服务

-d shutdown 停止memcached服务

例如启动memcached服务:
d: memcached>memcached.exe -p 11211 start //11211是memcached的常用端口,也可以进行更改,如端口改成8888:
d: memcached>memcached.exe -p 8888 start

本人在项目开发过程中使用的是:Simple-Spring-Memcached,它封装了对MemCached的调用,使MemCached的客户端开发变得超乎寻常的简单。

具体实现及代码后期会继续贴出,有问题可以联系我:weinan2087@163.com

若想在windows下查看memcached在内存的使用情况,可以使用telnet进行查看,在windows下默认是不不进行开启的,你可以在:控制面板-程序和功能-左侧有个:打开或关闭windows功能的连接,接着会弹出一个小窗口,你将Talet PC组件及Telnet客户端进行勾选即可,然后重启计算机,然后再命令行中进行输入:telnet memcached的IP memcached的端口,如:telnet 192.168.21.99 11211,接着输入:stats就可以看到有关memcached服务使用情况。

下面是stats打印的每个参数的解释:

pid  Memcached进程ID

uptime  Memcached运行时间,单位:秒

time  Memcached当前的UNIX时间

version  Memcached的版本号

rusage_user  该进程累计的用户时间,单位:秒

rusage_system  该进程累计的系统时间,单位:秒

curr_items  Memcached当前存储的内容数量

total_items  Memcached启动以来存储过的内容总数

bytes  Memcached当前存储内容所占用的字节数

curr_connections  当前连接数量

total_connections  Memcached运行以来接受的连接总数

connection_structures  Memcached分配的连接结构的数量

cmd_get  查询请求总数

cmd_set  存储(添加/更新)请求总数

get_hits  查询成功获取数据的总次数

get_misses  查询成功未获取到数据的总次数

bytes_read  Memcached从网络读取到的总字节数

bytes_written  Memcached向网络发送的总字节数

limit_maxbytes  Memcached在存储时被允许使用的字节总数

memcached默认开辟缓存区域的大小为64M,如果不够用,请打开注册表 :HKEY_LOCAL_MACHINE-SYSTEM-CurrentControlSet-Services,找到memcached的选项,右边有个ImagePath对应的数据栏你可以看到是64,你可以将该数字进行修改成大一些,然后需要重新启动memcached服务。

下面是本人了解到的一些集群分类:

一般来讲,集群软件根据侧重的方向和试图解决的问题,分为三大类:高性能集群(High performance cluster,HPC)、负载均衡集群(Load balance cluster, LBC),高可用性集群(High availability cluster,HAC)。
高性能集群(High performance cluster,HPC),它是利用一个集群中的多台机器共同完成同一件任务,使得完成任务的速度和可靠性都远远高于单机运行的效果。弥补了单机性能上的不足。该集群在天气预报、环境监控等数据量大,计算复杂的环境中应用比较多;
负载均衡集群(Load balance cluster, LBC),它是利用一个集群中的多台单机,完成许多并行的小的工作。一般情况下,如果一个应用使用的人多了,那么用户请求的响应时间就会增大,机器的性能也会受到影响,如果使用负载均衡集群,那么集群中任意一台机器都能响应用户的请求,这样集群就会在用户发出服务请求之后,选择当时负载最小,能够提供最好的服务的这台机器来接受请求并相应,这样就可用用集群来增加系统的可用性和稳定性。这类集群在网站中使用较多;
高可用性集群(High availability cluster,HAC),它是利用集群中系统 的冗余,当系统中某台机器发生损坏的时候,其他后备的机器可以迅速的接替它来启动服务,等待故障机的维修和返回。最大限度的保证集群中服务的可用性。这类系统一般在银行,电信服务这类对系统可靠性有高的要求的领域有着广泛的应用。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: