memcache

1. 安装libevent
下包:
libevent-1.4.12-stable.tar.gz
memcached-1.2.8-repcached-2.2.tar.gz

# yum install -y gcc gcc-c++ make
# tar zxf libevent-1.4.12-stable.tar.gz -C /usr/local/src/
# cd /usr/local/src/libevent-1.4.12-stable/
# ./configure --prefix=/usr/local/libevent
# make
# make install

2. 链接库文件

# cd /usr/lib64
# ln -s /usr/local/libevent/lib/libevent-1.4.so.2.1.3 libevent-1.4.so.2
# ln -s /usr/local/libevent/lib/libevent_core-1.4.so.2.1.3 libevent_core-1.4.so.2
# ln -s /usr/local/libevent/lib/libevent_core-1.4.so.2.1.3 libevent_core.so
# ln -s /usr/local/libevent/lib/libevent_extra-1.4.so.2.1.3 libevent_extra-1.4.so.2
# ln -s /usr/local/libevent/lib/libevent_extra-1.4.so.2.1.3 libevent_extra.so
# ln -s /usr/local/libevent/lib/libevent-1.4.so.2.1.3 libevent.so

3. 安装memcache

# cd 
# tar zxf memcached-1.2.8-repcached-2.2.tar.gz -C /usr/local/src/
#  cd /usr/local/src/memcached-1.2.8-repcached-2.2/
# ./configure --prefix=/usr/local/memcached_repcached --enable-replication --program-transform-name=s/memcached/repcached/ --with-libevent=/usr/local/libevent
# make
# make install

4. 启动memcache
4.1 master

# /usr/local/memcached_repcached/bin/repcached -v -d -m 256 -p 11211 -l 172.16.0.61 -u root -X 11212
# netstat -antp | grep 112
tcp        0      0 172.16.0.61:11211          0.0.0.0:*                   LISTEN      9429/repcached      
tcp        0      0 172.16.0.61:11212          0.0.0.0:*                   LISTEN      9429/repcached

4.2 slave

# /usr/local/memcached_repcached/bin/repcached -v -d -m 256 -p 11213 -l 172.16.0.62 -u root -x 172.16.0.61 -X 11212
# netstat -anp|grep 112
/---*
tcp     	0  0 172.16.0.62:11213	0.0.0.0:*                   	LISTEN      	9425/repcached
tcp     	0  0 172.16.0.62:42198	172.16.0.61:11212	            ESTABLISHED 	9425/repcached
    //启动从服务后,监听11212端口,可以使用"-X"来改变监听端口
udp			0  0 172.16.0.62:11211	0.0.0.0:*                               		9425/repcached
*---/

5. 测试:

[root@node3 ~]# yum install -y telnet

[root@node3 ~]# telnet 172.16.0.61 11211
add key1 0 0 5	输入,定义key
hello		输入,key的值
STORED		返回
get key1	输入,下载(查看)key的内容
VALUE key1 0 5	返回
hello		返回
END		返回
delete key1 0	输入,删除key
DELETED		返回
get key1		输入,下载key
END		返回
stats		输入,查看状态,看不懂
......
quit		输入,退出

Connection closed by foreign host.
---------------------------------------
[root@node3 ~]# telnet 172.16.0.62 11213
get key1		输入,下载(查看)key的内容
VALUE key1 0 5	返回
hello		返回
END		返回
quit		输入,退出
Connection closed by foreign host.

1. 添加key

<command name> <key> <flags> <exptime> <bytes>1<command name> 可以是”set, “add”, “replace”:
“set”表示按照相应的<key>存储该数据,没有的时候增加,有的覆盖。
“add”表示按照相应的<key>添加该数据,但是如果该<key>已经存在则会操作失败。
“replace”表示按照相应的<key>替换数据,但是如果该<key>不存在则操作失败。
(2<key> 客户端需要保存数据的key:
	key1  表示key的名字
(3<flags> 是一个16位的无符号的整数(以十进制的方式表示)。
        该标志将和需要存储的数据一起存储,并在客户端get数据时返回。
        客户可以将此标志用做特殊用途,此标志对服务器来说是不透明的。
	0     表示一个跟该key有关的自定义数据
(4<exptime> 过期的时间。
        若为0表示存储的数据永远不过时(但可被服务器算法:LRU 等替换)。
        如果非0(unix时间或者距离此时的秒数),当过期后,服务器可以保证用户得不到该数据(以服务器时间为标准)0     表示该key永不过期
(5<bytes> 需要存储的字节数(不包含最后的"\r\n"),当用户希望存储空数据时,<bytes>可以为0
	5     表示key1值的字节数

2. 添加后的返回值

1"STORED":表示存储成功
(2"NOT_STORED": 表示存储失败,但是该失败不是由于错误,是由命令本身的要求所引起的,或者该项在删除队列之中。

3. 获取key的返回值

	VALUE <key> <flags> <bytes>

4. 删除key

	delete <key> <time>1<key> 需要被删除数据的key
(2<time> 客户端希望服务器将该数据删除的时间(unix时间或者从现在开始的秒数)

5. stats 状态查看

pid	进程id
uptime	总的运行时间,秒数
time	当前时间
version	版本号
STAT pointer_size 64		pointer【指针】
STAT rusage_user 0.041993
STAT rusage_system 0.056991
curr_items	当前缓存中的KeyValue数量
total_items	曾经总共经过缓存的KeyValue数量
bytes		所有的缓存使用的内存量
curr_connections	当前连接数
cmd_get	总获取次数
cmd_set	总的写入次数
get_hits	总的命中次数
get_misses	获取失败次数
bytes_read	总共读取的流量字节数
bytes_written	总的写入流量字节
limit_maxbytes	最大允许使用的内存量,字节
STAT threads 2
STAT accepting_conns 1
STAT listen_disabled_num 0
STAT replication MASTER
STAT repcached_version 2.2
STAT repcached_qi_free 8191

6. 清空所有key

flush_all
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值