设为首页 收藏本站
查看: 906|回复: 0

[经验分享] java中使用MemCached

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-9-2 09:13:54 | 显示全部楼层 |阅读模式
  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),它是利用集群中系统 的冗余,当系统中某台机器发生损坏的时候,其他后备的机器可以迅速的接替它来启动服务,等待故障机的维修和返回。最大限度的保证集群中服务的可用性。这类系统一般在银行,电信服务这类对系统可靠性有高的要求的领域有着广泛的应用。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-108584-1-1.html 上篇帖子: Memcached的应用 下篇帖子: nginx+tomcat+memcached-session-manager组成简单的负载均衡和集群
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表