Memcached简介及优缺点

来源:互联网 发布:搬家软件app 编辑:程序博客网 时间:2024/05/01 05:16
      Memcached做统一缓存,用起来很爽。可他是怎么工作及性能优缺点有哪些呢?

Memcached 是以守护程序方式运行于一个或多个服务器中,随时接受客户端的连接操作【客户端可以由各种语言编写】。客户端首先与 Memcached 服务建立连接,然后存取对象。保存在 Memcached 中的对象是放置在内存中的,而不是在硬盘上。

        Memcached 进程运行之后,会预申请一块较大的内存空间,自己进行管理,用完之后再申请,不是每次需要的时候去向操作系统申请。Memcached将对象保存在一个巨大的Hash表中,它还使用NewHash算法来管理Hash表,从而获得进一步的性能提升。所以当分配给Memcached的内存足够大的时候,Memcached的时间消耗基本上只是网络Socket连接了

        下面来说说Memcached的不足:

1、数据是保存在内存当中的,一旦服务进程重启,数据会全部丢失

对策:可以采取更改Memcached的源代码,增加定期写入硬盘的功能

2、Memcached以root权限运行,而且Memcached本身没有任何权限管理和认证功能,安 全性不足

对策:可以将Memcached服务绑定在内网IP上,通过防火墙进行防护

下面简单介绍下memcache安装,关键步骤如下:

1、下载

[plain] view plain copy
  1. [xsf@dev163 tool]# wget -c http://memcached.googlecode.com/files/memcached-1.4.15.tar.gz  
  2. [xsf@dev163 tool]# tar -zxvf memcached-1.4.15.tar.gz   
               2、编译安装
[plain] view plain copy
  1. [xsf@dev163 tool]# cd memcached-1.4.15  
  2. [xsf@dev163 tool]# ./configure --prefix=/usr/local/memcached-1.4.15  
  3. [xsf@dev163 tool]# make && make install  
  4. [xsf@dev163 tool]# ln -s /usr/local/memcached-1.4.15 /usr/local/memcached  
              3、启动
[plain] view plain copy
  1. [xsf@dev163 tool]# /usr/local/memcached/bin/memcached -d -m 200 -uroot -l 0.0.0.0 -p 11211 -c 512 -P /usr/local/memcached/memcached.pid  

             如果顺利,memcached已经启动起来。可以通过下面命令来查看memcached的运行状态

[plain] view plain copy
  1. [xsf@dev163 ~]# echo 'stats settings' | nc localhost 11211  

             本机显示如下:

[plain] view plain copy
  1. STAT maxbytes 209715200  
  2. STAT maxconns 512  
  3. STAT tcpport 11211  
  4. STAT udpport 11211  
  5. STAT inter 0.0.0.0  
  6. STAT verbosity 0  
  7. STAT oldest 0  
  8. STAT evictions on  
  9. STAT domain_socket NULL  
  10. STAT umask 700  
  11. STAT growth_factor 1.25  
  12. STAT chunk_size 48  
  13. STAT num_threads 4  
  14. STAT num_threads_per_udp 4  
  15. STAT stat_key_prefix :  
  16. STAT detail_enabled no  
  17. STAT reqs_per_event 20  
  18. STAT cas_enabled yes  
  19. STAT tcp_backlog 1024  
  20. STAT binding_protocol auto-negotiate  
  21. STAT auth_enabled_sasl no  
  22. STAT item_size_max 1048576  
  23. STAT maxconns_fast no  
  24. STAT hashpower_init 0  
  25. STAT slab_reassign no  
  26. STAT slab_automove 0  
  27. END  
     
0 0
原创粉丝点击