memcached指令及分佈式集羣

Memcache 羣集
memcached指令及分佈式集羣memcached指令及分佈式集羣
Memcached 是一個高性能的分佈式內存對象緩存系統,用於動態 Web 應用以減輕數據庫負載。它通過在內存中緩
存數據和對象來減少讀取數據庫的次數,從而提高動態、數據庫驅動網站的速度。 Memcached 基於一個存儲鍵/值
對的 hashmap。其守護進程(daemon )是用 C 寫的,但是客戶端可以用任何語言來編寫,並通過 memcached 協議
與守護進程通信。
memcached指令及分佈式集羣

一.安裝軟件
1.四臺都安裝libevent 軟件
memcached指令及分佈式集羣
memcached指令及分佈式集羣
21 tar zxf libevent-2.0.22-stable.tar.gz
22 cd libevent-2.0.22-stable/
23 ./configure && make && make install

  1. 安裝 keepalived軟件(keepalived 服務器 前兩臺)
    (1)安裝
    memcached指令及分佈式集羣
    16 tar zxf keepalived-1.2.13.tar.gz
    17 cd keepalived-1.2.13/
    18 yum -y install openssl-devel
    19 ./configure --prefix=/ && make && make install 編譯安裝
    (2)修改vim /etc/keepalived/keepalived.conf
    global_defs {
    router_id LVS_DEVEL_1
    }

vrrp_instance VI_1 {
state MASTER
interface ens33
virtual_router_id 51
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.1.254
}
}

memcached指令及分佈式集羣
(3)啓動並查看IP地址
memcached指令及分佈式集羣

  1. 安裝 magent 軟件(Magent 服務器 前兩臺)
    22 mkdir /usr/magent 創建所需文件夾
    23 tar zxf magent-0.6.tar.gz -C /usr/magent/
    24 cd /usr/magent/
    25 vim ketama.h
    memcached指令及分佈式集羣
    memcached指令及分佈式集羣
    memcached指令及分佈式集羣

    27 ln -s /usr/lib64/libevent-2.0.so.5 /usr/lib64/libevent.a
    28 ln -s /usr/lib64/libm.so /usr/lib64/libm.a
    29 make
    30 ln -s /usr/magent/magent /usr/local/bin/
    31 magent -u root -n 51200 -l 192.168.1.254 -p 1200 -s 192.168.1.30:11211 -b 192.168.1.40:11211
    32 netstat -anpt | grep 1200

4 .安裝 memcached 軟件(Memcached 服務器後 2 臺)
memcached指令及分佈式集羣
21 tar zxf memcached-1.4.33.tar.gz
22 cd memcached-1.4.33/
23 ./configure --prefix=/usr/local/memcached --with-libevent=/usr/local && make && make install
memcached指令及分佈式集羣
25 ln -s /usr/local/memcached/bin/memcached /usr/local/bin/
26 memcached -d -m 512 -l 192.168.1.30 -p 11211 -c 1024 -P /usr/local/memcached/memcached.pid -u root
27 netstat -anpt |grep 11211
28 yum -y install telnet

三,telnet測試
指令格式:
<命令> <鍵> <標記> <有效期> <數據長度>
<命令> - command name
主要是三個儲存數據的三個命令, set, add, replace
set 命令是保存一個叫做 key 的數據到服務器上
add 命令是添加一個數據到服務器,但是服務器必須保證這個 key 是不存在的,能夠保證數據不會被覆蓋
replace 命令是替換一個已經存在的數據,如果數據不存在,就是類似 set 功能
get 查看鍵數據
gets 命令獲取帶有 CAS 令牌存 的 value(數據值) ,如果 key 不存在,則返回空。
stats 當前所有 Memcache 服務器運行的狀態信息
stats <參數> 這個指令將只返回指定參數的項目狀態信息。
version 將返回以 VERSION 開頭的版本信息
flush_all 這個指令執行後,服務器上所有緩存的數據都被刪除,並且返回:OK
delete <鍵> <超時時間> 刪除數據的 key 鍵
append 向已存在 key(鍵) 的 value(數據值) 後面追加數據
prepend 用於向已存在 key(鍵) 的 value(數據值) 前面追加數據
CAS 通過令牌來修改內容
incr 與 decr 命令
Memcached incr 與 decr :命令用於對已存在的 key(鍵) 的數字值進行自增或自減操作。
quit 退出telnet模式

memcached指令及分佈式集羣
memcached指令及分佈式集羣
memcached指令及分佈式集羣

2.在192.168.1.10 magent上測試
memcached指令及分佈式集羣
在192.168.1.30 memcached上測試
memcached指令及分佈式集羣

3.測試漂移地址
192.168.1.10
memcached指令及分佈式集羣
192.168.1.20
memcached指令及分佈式集羣
192.168.1.10
memcached指令及分佈式集羣
192.168.1.20
memcached指令及分佈式集羣

總結:
memcache 的優點:可以做多主或者多從
memcache 的缺點:當主緩存節點當掉又恢復,之前的緩存數據會丟失

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章