缓存服务器之Memcached

Memcached简介
Memcached是一款开源、高性能、分布式内存缓存服务器,它是基于key-value的内存存储,不支持持久化。经常拿来与redis做比较,因为没有持久化
存储功能,所以memcached不能用来存储关键性数据。

特点:
1、协议简单:纯文本协议,开销小
2、基于libevent模型能够处理高并发
3、基于内存存储,通过LRU(Least Recently Used)最近最少使用算法清除过期缓存,其清理过期缓存是基于惰性工作法则来工作的
4、分布式集群:互不通信,没有分布式集群的高可用,负载均衡等特点
5、旁挂式缓存: 与varnish不同,varnish是代理是缓存,而memcached是旁挂式缓存

Memcached的部署

系统环境:(CentOS 6.7)

[root@linux-node1 ~]# cat /etc/redhat-release
CentOS release 6.7 (Final)

源码安装:

1、安装依赖包libevent
因为memecached基于事件驱动模型支持高并发
livevent官网 http://http://libevent.org/ 下载适合的版本,我这里下载是libevent-2.1.8-stable.tar.gz

~]# wget https://github.com/libevent/libevent/releases/download/release-2.1.8-stable/libevent-2.1.8-stable.tar.gz

~]# tar xf libevent-2.1.8-stable.tar.gz
~]# cd libevent-2.1.8-stable
~]# ./configure --prefix=/usr/local/libevent
~]# make && make install

2、源码安装memcached

下载memcached, http://www.memcached.org/files/memcached-1.4.36.tar.gz

~]# tar xf memcached-1.4.36.tar.gz
~]# cd memcached-1.4.36
~]# ./configure --prefix=/usr/local/memcached --with-libevent=/usr/local/libevent
~]# make && make install

~]# vim /etc/profile.d/memcached.sh //环境变量

export PATH=/usr/local/memcached/bin:$PATH

~]# . /etc/profile.d/memcached.sh

~]# memcached -h //查看帮助

~]# useradd -s /sbin/nologin -b /var/run memcached //创建一个运行memcached用户
~]# memcached -d -u memcached
~]# ss -tunlp | grep memcached //可以看出监听在tcp/11211和udp/11211

udp UNCONN 0 0 :11211 : users:(("memcached",10556,28),("memcached",10556,29),("memcached",10556,30),("memcached",10556,31))
udp UNCONN 0 0 :::11211 :::
users:(("memcached",10556,32),("memcached",10556,33),("memcached",10556,34),("memcached",10556,35))
tcp LISTEN 0 128 :::11211 ::: users:(("memcached",10556,27))
tcp LISTEN 0 128
:11211 : users:(("memcached",10556,26))

如果想使用 Sysv风格的启动方式,service memcached star|stop ,可以写一个脚本/etc/init.d/memcached,可以参照网上写的文档
也可以yum安装memcache,参照/etc/init.d/memcached 自己改一个

登录测试:

~]# telnet localhost 11211
Trying ::1...
Connected to localhost.
Escape character is '^]'.

yum 安装:如果条件还是使用yum安装,也是比较推崇的方式

~]# yum -y install memcached
~]# rpm -ql memcached
~]# cat /etc/sysconfig/memcached //程序的默认配置
PORT="11211"
USER="memcached"
MAXCONN="1024"
CACHESIZE="64"
OPTIONS=""

~]# service memcached start
~]# ss -t~]# netstat -lntup | grep memcached
tcp 0 0 0.0.0.0:11211 0.0.0.0: LISTEN 2738/memcached
tcp 0 0 :::11211 :::
LISTEN 2738/memcached
udp 0 0 0.0.0.0:11211 0.0.0.0: 2738/memcached
udp 0 0 :::11211 :::
2738/memcached

Memcache常用命令:

详细信息请参考: https://github.com/memcached/memcached/wiki/Commands

set:set <key> <flags> <expire_time> <bytes> 新增或修改,如果键不存在则创建,存在则修改
command <key> <flags> <expiration time> <bytes>
<value>

参数说明如下:
key     key 用于查找缓存值
flags     可以包括键值对的整型参数,客户机使用它存储关于键值对的额外信息
expiration time     在缓存中保存键值对的时间长度(以秒为单位,0 表示永远)
bytes     在缓存中存储的字节数
value     存储的值(始终位于第二行)

例如: set userid 0 0 5

get: get <key>
delete: delete <key>
add: add <key> <flag> <expire_time> <bytes> 键存在则无法创建
replace: replace <key> <flage> <expire_time> <bytes>
flush_all: 清除所有缓存
stats: 显示memcached的统计数据信息

append
prepend
incr
decr

Memcached 缓存状态查看工具: memcached-tool

~]# memcached-tool 127.0.0.1

转载于:https://blog.51cto.com/wbilly/2150066

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值