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

前言:html

      今天是初五,生活基本要從過年的節奏中迴歸到正常的生活了,因此想一想也該想一想與工做有關的事情了。我以前在工做中會常常使用memcached和redis,可是本身一直沒有時間系統的好好看下這部分的基礎知識,因此如今打算好好把這兩部分的基礎再看一看。我會把看到的東西努力記錄下來,給本身之後留個參考,若是能幫助到你們,天然是更好了~。linux

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

===============================================================長長的分割線====================================================================bash

正文:服務器

      第一步,肯定目標:併發

      目前的環境是Linux CentOS,安裝memcached,而後學習下基本的使用。yii

     

      第二步,下載安裝包: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
相關文章
相關標籤/搜索