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

Memcached简介及优缺点

2016-04-22 10:14 429 查看
      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

[xsf@dev163 tool]# wget -c http://memcached.googlecode.com/files/memcached-1.4.15.tar.gz  

[xsf@dev163 tool]# tar -zxvf memcached-1.4.15.tar.gz   

               2、编译安装

[plain] view
plain copy

[xsf@dev163 tool]# cd memcached-1.4.15  

[xsf@dev163 tool]# ./configure --prefix=/usr/local/memcached-1.4.15  

[xsf@dev163 tool]# make && make install  

[xsf@dev163 tool]# ln -s /usr/local/memcached-1.4.15 /usr/local/memcached  

              3、启动

[plain] view
plain copy

[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

[xsf@dev163 ~]# echo 'stats settings' | nc localhost 11211  

             本机显示如下:

[plain] view
plain copy

STAT maxbytes 209715200  

STAT maxconns 512  

STAT tcpport 11211  

STAT udpport 11211  

STAT inter 0.0.0.0  

STAT verbosity 0  

STAT oldest 0  

STAT evictions on  

STAT domain_socket NULL  

STAT umask 700  

STAT growth_factor 1.25  

STAT chunk_size 48  

STAT num_threads 4  

STAT num_threads_per_udp 4  

STAT stat_key_prefix :  

STAT detail_enabled no  

STAT reqs_per_event 20  

STAT cas_enabled yes  

STAT tcp_backlog 1024  

STAT binding_protocol auto-negotiate  

STAT auth_enabled_sasl no  

STAT item_size_max 1048576  

STAT maxconns_fast no  

STAT hashpower_init 0  

STAT slab_reassign no  

STAT slab_automove 0  

END  

     
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: