memcache安装&&启动

1、简介

Memcached 常被用来加速应用程序的处理,在这里,我们将着重于介绍将它部署于应用程序和环境中的最佳实践。这包括应该存储或不应存储哪些、如何处理数据的灵活分布以 及如何调节用来更新 memcached 和所存储数据的方法。所有的应用程序,特别是很多 web 应用程序都需要优化它们访问客户机和将信息返回至客户机的速度。可是,通常,返回的都是相同的信息。从数据源(数据库或文件系统)加载数据十分低效,若是 每次想要访问该信息时都运行相同的查询,就尤显低效。要是能从内存中直接加载这些信息,可想而知速度会快多少倍。
虽然很多 web 服务器都可被配置成使用缓存发回信息,但那与大多数应用程序的动态特性无法相适。而这正是 memcached 的用武之地。它提供了一的内存存储器,可保存任何东西,包括本地语言的对象,这就让您可以存储各种各样的信息并可以从诸多的应用程序和环境访问这些信息。

memcached存储的是key/value的键值对,但是值必须是可序列化的对象(这里我说的java),还可以是json,xml,html 等,这里要说明memcached集群,server端之间并不会进行相互的通信,通信完全由你的客户端来完成,你只需在客户端规定好你的key值,然后 set进行,此时会有一个散列算法,来决定你key会存放在哪台server上。

最后要注意一点,memcached主要使用于存储实时性要求不是很高的信息

2、安装

Linux:centOs5.5

安装libevent

这个库Memcache用于Socket的处理,下载libevent,wget -O /opt http://www.monkey.org/~provos/libevent-1.4.13-stable.tar.gz。

cd /opt
tar zxvf libevent-1.4.13-stable.tar.gz
cd libevent-1.4.13-stable
./configure -prefix=/usr
make
make install 
校验 libevent是否安装成功,ll /usr/lib | grep libevent*
lrwxrwxrwx   1 root root          21 07-19 06:01 libevent-1.4.so.2 -> libevent-1.4.so.2.1.3
-rwxr-xr-x   1 root root      308872 07-19 06:01 libevent-1.4.so.2.1.3
-rw-r--r--   1 root root      396058 07-19 06:01 libevent.a
lrwxrwxrwx   1 root root          26 07-19 06:01 libevent_core-1.4.so.2 -> libevent_core-1.4.so.2.1.3
-rwxr-xr-x   1 root root      110218 07-19 06:01 libevent_core-1.4.so.2.1.3
-rw-r--r--   1 root root      149976 07-19 06:01 libevent_core.a
-rwxr-xr-x   1 root root         860 07-19 06:01 libevent_core.la
lrwxrwxrwx   1 root root          26 07-19 06:01 libevent_core.so -> libevent_core-1.4.so.2.1.3
lrwxrwxrwx   1 root root          27 07-19 06:01 libevent_extra-1.4.so.2 -> libevent_extra-1.4.so.2.1.3
-rwxr-xr-x   1 root root      247155 07-19 06:01 libevent_extra-1.4.so.2.1.3
-rw-r--r--   1 root root      308358 07-19 06:01 libevent_extra.a
-rwxr-xr-x   1 root root         867 07-19 06:01 libevent_extra.la
lrwxrwxrwx   1 root root          27 07-19 06:01 libevent_extra.so -> libevent_extra-1.4.so.2.1.3
-rwxr-xr-x   1 root root         825 07-19 06:01 libevent.la
lrwxrwxrwx   1 root root          21 07-19 06:01 libevent.so -> libevent-1.4.so.2.1.3

安装memcac

安装时还要指定libevent的安装位置
下载memcached,wget -0 /opt http://memcached.googlecode.com/files/memcached-1.4.13.tar.gz

cd /opt
tar zxvf memcached-1.4.13.tar.gz
cd memcached-1.4.13
./configure -with-libevent=/usr
make
make install
校验memcached是否安装成功 ,ll /usr/local/bin | grep memcached*
-rwxr-xr-x 1 root root  234318 07-19 06:34 memcached

3、启动&&关闭

/usr/local/bin/memcached -d -m 300 -u root -l 192.168.1.107 -p 11211 -c 400 -P /tmp/memcached.pid
netstat -ant或者lsof -i:11211查看
telnet 192.168.1.107 11211
输入stats

STAT pid 19050
STAT uptime 8346
STAT time 1342660277
STAT version 1.4.13
STAT libevent 1.4.13-stable
STAT pointer_size 32
STAT rusage_user 0.028995
STAT rusage_system 0.230964
STAT curr_connections 5
STAT total_connections 9
STAT connection_structures 6
STAT reserved_fds 20
STAT cmd_get 1
STAT cmd_set 0
STAT cmd_flush 0
STAT cmd_touch 0
STAT get_hits 0
STAT get_misses 1
STAT delete_misses 0
STAT delete_hits 0
STAT incr_misses 0
STAT incr_hits 0
STAT decr_misses 0
STAT decr_hits 0
STAT cas_misses 0
STAT cas_hits 0
STAT cas_badval 0
STAT touch_hits 0
STAT touch_misses 0
STAT auth_cmds 0
STAT auth_errors 0
STAT bytes_read 303
STAT bytes_written 1208
STAT limit_maxbytes 314572800
STAT accepting_conns 1
STAT listen_disabled_num 0
STAT threads 4
STAT conn_yields 0
STAT hash_power_level 16
STAT hash_bytes 262144
STAT hash_is_expanding 0
STAT expired_unfetched 0
STAT evicted_unfetched 0
STAT bytes 0
STAT curr_items 0
STAT total_items 0
STAT evictions 0
STAT reclaimed 0

END

启动参数详解:
-d选项是启动一个守护进程, 
-m是分配给Memcache使用的内存数量,单位是MB,我这里是10MB, 
-u是运行Memcache的用户,我这里是root, 
-l是监听的服务器IP地址,如果有多个地址的话,我这里指定了服务器的IP 
地址192.168.0.200, 
-p是设置Memcache监听的端口,我这里设置了12000,最好是1024以上的端口, 
-c选项是最大运行的并发连接数,默认是1024,我这里设置了256,按照你服务器的负载量来设定, 
-P是设置保存Memcache的pid文件,我这里是保存在 /tmp/memcached.pid

关闭只要杀掉进程即可。

4、开机启动

vi /etc/rc.d/rc.local
/usr/local/bin/memcached -d -m 300 -u root -l 192.168.1.107 -p 11211 -c 400 -P /tmp/memcached.pid加入即可。

你可能感兴趣的:(memcached,memcache)