NoSql1 在Linux(CentOS)上安装memcached及使用

前言:

      今天是初五,生活基本要从过年的节奏中回归到正常的生活了,所以想想也该想想与工作有关的事情了。我之前在工作中会经常使用memcached和redis,但是自己一直没有时间系统的好好看下这部分的基础知识,所以现在打算好好把这两部分的基础再看一看。我会把看到的东西努力记录下来,给自己以后留个参考,如果能帮助到大家,自然是更好了~。

      1.在Linux(CentOS)上安装memcached及使用。http://www.cnblogs.com/PurpleDream/p/4298208.html 

===============================================================长长的分割线====================================================================

正文:

      第一步,确定目标:

      目前的环境是Linux CentOS,安装memcached,然后学习下基本的使用。

     

      第二步,下载安装包:

      由于安装libevent是安装memcached的前提,所以此处我们需要下载两个安装包,分别是libevent和memcached。

      1.下载libevent,我在http://libevent.org/这里下载了最新的版本 libevent-2.0.22-stable.tar.gz

      2.下载memcached,我在http://memcached.org/这里下载了最新的版本 memcached-1.4.22.tar.gz

      3.将下载好的安装包通过FileZilla等ftp工具上传到我的linux环境中,目录分别是 /myself_settings/libevent 和 /myself_settings/memcached

 

      第三步,准备依次安装libevent和memcached:

      1.使用cd命令打开到 /myself_settings/libevent。

      2.使用命令tar -xzvf libevent-2.0.22-stable.tar.gz ,将安装包解压缩,然后再cd到解压缩后的 libevent-2.0.22-stable 文件夹中。

      3.我们要使用configure命令安装,安装目录应该在/usr/lib中,为了以后管理方便,此处我提前在/usr/lib文件中建立了一个新的文件夹libevent

      4.执行命令: ./configure --prefix=/usr/lib/libevent  (作用是配置)

      5.执行命令: make  (作用是编译)

      6.执行命令: make install (作用是安装)

      7.至此,libevent应该是安装完毕的,我们可以使用命令 ls -al /usr/lib/libevent/lib  来查看libevent是否安装成功。

 1 drwxr-xr-x 3 root root    4096 Feb 23 17:06 .
 2 drwxr-xr-x 5 root root    4096 Feb 23 17:06 ..
 3 lrwxrwxrwx 1 root root      21 Feb 23 17:06 libevent-2.0.so.5 -> libevent-2.0.so.5.1.9
 4 -rwxr-xr-x 1 root root  975704 Feb 23 17:06 libevent-2.0.so.5.1.9
 5 -rw-r--r-- 1 root root 1586288 Feb 23 17:06 libevent.a
 6 lrwxrwxrwx 1 root root      26 Feb 23 17:06 libevent_core-2.0.so.5 -> libevent_core-2.0.so.5.1.9
 7 -rwxr-xr-x 1 root root  578875 Feb 23 17:06 libevent_core-2.0.so.5.1.9
 8 -rw-r--r-- 1 root root  968792 Feb 23 17:06 libevent_core.a
 9 -rwxr-xr-x 1 root root     970 Feb 23 17:06 libevent_core.la
10 lrwxrwxrwx 1 root root      26 Feb 23 17:06 libevent_core.so -> libevent_core-2.0.so.5.1.9
11 lrwxrwxrwx 1 root root      27 Feb 23 17:06 libevent_extra-2.0.so.5 -> libevent_extra-2.0.so.5.1.9
12 -rwxr-xr-x 1 root root  417629 Feb 23 17:06 libevent_extra-2.0.so.5.1.9
13 -rw-r--r-- 1 root root  617568 Feb 23 17:06 libevent_extra.a
14 -rwxr-xr-x 1 root root     977 Feb 23 17:06 libevent_extra.la
15 lrwxrwxrwx 1 root root      27 Feb 23 17:06 libevent_extra.so -> libevent_extra-2.0.so.5.1.9
16 -rwxr-xr-x 1 root root     935 Feb 23 17:06 libevent.la
17 lrwxrwxrwx 1 root root      30 Feb 23 17:06 libevent_pthreads-2.0.so.5 -> libevent_pthreads-2.0.so.5.1.9
18 -rwxr-xr-x 1 root root   18142 Feb 23 17:06 libevent_pthreads-2.0.so.5.1.9
19 -rw-r--r-- 1 root root   18806 Feb 23 17:06 libevent_pthreads.a
20 -rwxr-xr-x 1 root root     998 Feb 23 17:06 libevent_pthreads.la
21 lrwxrwxrwx 1 root root      30 Feb 23 17:06 libevent_pthreads.so -> libevent_pthreads-2.0.so.5.1.9
22 lrwxrwxrwx 1 root root      21 Feb 23 17:06 libevent.so -> libevent-2.0.so.5.1.9
23 drwxr-xr-x 2 root root    4096 Feb 23 17:06 pkgconfig

      8. 下面我们要安装的是memcache,首先还是和上边处理libevent一样,先将安装包解压缩,然后cd到解压缩后的 memcached-1.4.22 文件夹中。

      9.执行命令: ./configure --with-libevent=/usr/lib/libevent (作用是配置,此处要注意关联之前安装libevent的路径 /usr/lib/libevent)

      10.执行命令: make  (作用是编译)

      11.执行命令: make install (作用是安装)

      12.至此,memcached安装完毕,可以用命令 ls -al /usr/local/bin/mem*,查看memcached是否安装成功。

1 -rwxr-xr-x 1 root root 325816 Feb 23 17:10 memcached

      

       第四步,启动memcached服务,命令如下:

1 /usr/local/bin/memcached -d -m 10 -u root -l 192.168.25.26 -p 14885 -c 256 -P /tmp/memcached.pid -vv >> /tmp/memcached.log 2>&1  

       针对上边的启动命令, 参数的详细解释如下:

-d 是启动一个守护进程,
-m 是分配给Memcache使用的内存数量,单位是MB,我这里是10MB,
-u 是运行Memcache的用户,我这里是root,
-l 是监听的服务器IP地址,如果有多个地址的话我们可以用逗号将ip地址分隔或者使用多个-l,我这里指定了服务器的IP地址192.168.25.26,
-p 是设置Memcache监听的端口,我这里设置了14885,最好是1024以上的端口,
-c 是最大运行的并发连接数,默认是1024,我这里设置了256,按照你服务器的负载量来设定,
-P 是设置保存Memcache的pid文件,我这里是保存在 /tmp/memcached.pid
-vv 主要是打印memcached日志,此处大家可以具体参考文章 http://chenzhou123520.iteye.com/blog/1925209?spm=5176.7189909.0.0.T3GyvL

        如果memcached启动成功,我们可以使用 ps -ef|grep memcached,查看是否启动,如下所示:

1 root     14742     1  0 18:59 ?        00:00:00 /usr/local/bin/memcached -d -m 10 -u root -l 192.168.25.26 -p 14885 -c 256 -P /tmp/memcached.pid -vv
2 root     14806  3537  0 19:46 pts/2    00:00:00 grep memcached

   

         第五步,关闭memcached服务,命令如下:   

1 kill `cat /tmp/memcached.pid`

 

         第六步,测试memcached,这里有两个问题要说:

         1.如果之前没有使用过memcached,则可以参考http://www.cnblogs.com/jeffwongishandsome/archive/2011/11/06/2238265.html  或者  http://www.yiibai.com/memcached/memcached_clear_data.html 这两篇文章来学习memcached的基本命令。

         2.我们下边测试的时候,会用到telnet命令,很多linux环境默认是没有telnet环境的,如果我们输入telnet命令很有可能会碰到诸如 -bash:telnet:command not found 这样的错误,我们可以通过以下步骤来安装telnet环境: 

            (1).通过 rpm -qa|grep telnet 和 rpm -qa|grep telnet-server 这两个命令确认是否安装客户端和服务器端,一般情况下,会默认有客户端,没有服务器端,而安装memcached的这台服务器必须要安装telnet-server。

            (2).yum -y install telnet     如果没有不客户端,安装客户端

            (3).yum install telnet-server   安装服务器端

            (4).编辑/etc/xinetd.d/telnet, 将其中的 disable = yes 的yes改为no   修改配置

            (5).service xinetd restart  重启服务

         3.解决了上边的问题,我们可以实验一把set命令,命令的参数参考我在1中提到的两篇文章,详细如下:

 1 [root@localhost /]# telnet 192.168.25.26 14885
 2 Trying 192.168.25.26...
 3 Connected to 192.168.25.26 (192.168.25.26).
 4 Escape character is '^]'.
 5 set username 0 0 4
 6 hero
 7 STORED
 8 get username
 9 VALUE username 0 4
10 hero
11 END

        

    

 

posted on 2015-02-23 20:08  Sky_YiBai  阅读(1092)  评论(0编辑  收藏  举报