Memcache 群集
Memcached 是一个高性能的分布式内存对象缓存系统,用于动态 Web 应用以减轻数据库负载。它通过在内存中缓
存数据和对象来减少读取数据库的次数,从而提高动态、数据库驱动网站的速度。 Memcached 基于一个存储键/值
对的 hashmap。其守护进程(daemon )是用 C 写的,但是客户端可以用任何语言来编写,并通过 memcached 协议
与守护进程通信。
一.安装软件
1.四台都安装libevent 软件
21 tar zxf libevent-2.0.22-stable.tar.gz
22 cd libevent-2.0.22-stable/
23 ./configure && make && make install
- 安装 keepalived软件(keepalived 服务器 前两台)
(1)安装
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
}
}
(3)启动并查看IP地址
3. 安装 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
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 台)
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
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模式
在192.168.1.10 magent上测试
在192.168.1.30 memcached上测试
测试漂移地址
168.1.10
168.1.20
168.1.10
168.1.20
总结:
memcache 的优点:可以做多主或者多从
memcache 的缺点:当主缓存节点当掉又恢复,之前的缓存数据会丢失