分布式架构——第5篇:构建memcache环境

memcache是一款开源的高性能的分布式内存对象缓存系统,在内存中维护一张巨大的HashTable,使用Key-Value形式存储和访问数据,使得对数据查询的时间复杂度降低到了O(1)。

memcache的主要作用是减少了对数据库的访问,降低了数据库负载。同时,提高了应用的访问速度。

安装libevent

memcache使用了libevent实现高效的网络连接处理。可以从GitHub中获取最新tar包。

https://github.com/libevent/libevent

注意,需要gcc编译器、make构建工具,请提前安装好。

$ sudo apt install gcc
$ sudo apt install make

libevent-2.1.8-stable.tar.gz进行解压后安装。

$ tar -zxvf libevent-2.1.8-stable.tar.gz
$ mkdir ~/Applications/libevent
$ mv libevent-2.1.8-stable ~/Applications/libevent/libevent-2.1.8
$ cd ~/Applications/libevent/libevent-2.1.8
$ ./configure
$ sudo make install

安装memcache

在官网上下载memcached-1.5.10.tar.gz压缩包。

https://memcached.org/downloads

解压,安装…一气呵成!

$ tar -zxvf memcached-1.5.10.tar.gz
$ mkdir ~/Applications/memcache
$ mv memcached-1.5.10 ~/Applications/memcache/memcache-1.5.10
$ cd ~/Applications/memcache/memcache-1.5.10
$ ./configure
$ sudo make install

启动memcache服务

$ /usr/local/bin/memcached -d -m 10 -u byteparallel -l 192.168.1.102 -p 11211 -c 32 -P /tmp/memcached.pid

参数含义如下:

  • -d 表示启动的是一个守护进程;
  • -m 指定分配给memcache的内存数量,单位MB,这里是10MB;
  • -u 指定运行memcache的用户;
  • -l 指定监听的服务器的IP地址;
  • -p 设置memcache的监听端口,这里指定为11211;
  • -c 指定最大允许的并发连接数,这里设置为32;
  • -P (大写)指定memcache的pid文件保存位置。

关闭memcache服务

可以看到,/tmp/memcached.pid中记录的就是进程pid。

byteparallel@server:~$ ps -aux | grep memcached

bytepar+ 10304 0.0 0.0 412092 1764 ? Ssl 15:50 0:00 /usr/local/bin/memcached -d -m 10 -u byteparallel -l 192.168.1.102 -p 11211 -c 32 -P /tmp/memcached.pid
bytepar+ 11633 0.0 0.0 21536 1004 pts/0 S+ 17:01 0:00 grep –color=auto memcached

byteparallel@server:~$ cat /tmp/memcached.pid

10304

杀死进程

$ kill 10304

References:
[1] https://github.com/libevent/libevent/releases
[2] https://memcached.org/downloads
[3] 大型分布式网站架构设计与实践.陈康贤著