memcached 学习笔记

鸣谢:菜鸟教程

memcached

Memcached 是一套高性能的、分布式内存对象缓存系统。
注意,memcache不是数据库。

1 memcached

1.1 特点

a.协议简单
使用文本协议和二进制协议,协议简单,性能高效.

b.基于 libevent 的事件处理
libevent 是个程序库,它将 Linux 的 epoll、BSD 类操作系统的 kqueue 等事件处理功能封装成统一的接口。即使对服务器的连接数增加,也能发挥 O(1)的性能。Memcached 使用这个 libevent 库,因此能在 Linux、BSD、Solaris 等操作系统上发挥其高性能。

c.内置内存存储方式
memcached并不是数据库,数据存储在memcache内置的内存存储空间中,由于数据存储在内存中,当重启memcache或者操作系统时,数据会被清空。
当内容容量达到指定值(启动时可通过-m 参数配置)之后,就基于 LRU(Least Recently Used,顾名思义:最近最少使用)算法自动删除不使用的缓存,不用担心,这个功能是可以配置的,Memcached 启动时通过“-M”参数可以禁止 LRU。不过,Memcached 本身是为缓存而设计的,建议开启 LRU。

1.2 不适应场景

a. 缓存对象的大小大于 1 MB, Memcached 本身就不是为了处理庞大的多媒体和巨大的二进制块而设计的,如果你任性,要存这么大的数据,可以自己修改源代码,它是开源的,不过请慎改;
b. key 的长度大于 250 字符(硬性要求);
c. 环境不允许运行 memcached 服务,如虚拟主机;
d. 应用运行在不安全的环境中,Memcached 未提供任何安全策略,仅仅通过 telnet 就可以访问到 memcached。数据安全越来越重要了,so,请把它放在防火墙后;
e. 业务需要的是持久化数据时请使用数据库。

2 linux下的安装与卸载

2.1 自动安装

根据linux的类别不同,安装memcache的方式也不同,下表为不同类别的linux自动安装 memcache的命令(libevent 和 Memcached 一起被安装,无需另行安装 libevent。)

命令支持系统
sudo apt-get install memcachedUbuntu/Debian
yum install memcachedRedhat/Fedora/Centos
portmaster databases/memcachedFreeBSD

安装成功后,可以通过下边的命令确认

命令功能
find / -name 'libevent*' | grep libevent确认libevent
find / -name 'memcached*' | grep memcached确认memcache
2.2 源码安装
步骤命令操作
1wget http://memcached.org/latest下载最新版本
2tar -zxvf memcached-1.x.x.tar.gz解压源码
3cd memcached-1.x.x进入目录
4./configure --prefix=/usr/local/memcached配置
5make && make test编译
6sudo make install安装
2.3 卸载memcached

sudo apt-get --purge remove memcache

3 memcached运行

命令操作说明
memcached -h命令帮助
memcached -d -m 256 -u root -l localhost -p 11210 -c 256 -P /tmp/memcached.pid启动memcache
echo stats |nc 127.0.0.1 11211查看memcached运行状态
ps -ef|grep memcached查看memcached状态

启动参数:

参数含义
-p指定端口号(默认值:11211)
-U numUDP 监听端口 (默认值: 11211, 0 时关闭)
-s file用于监听的 UNIX 套接字路径(禁用网络支持)
-a maskUNIX 套接字访问掩码,八进制数字(默认值:0700)
-l ip_addr绑定地址 (默认:所有都允许,无论内外网或者本机更换 IP,
有安全隐患。若设置为 127.0.0.1 就只能本机访问)
-d启动一个守护进程
-r最大化核心文件限制
-u username绑定使用指定用于运行进程 (只有 root 用户可以使用这个参数)
-m指定最大使用内存大小(默认值:64 MB)
-M内存耗尽时返回错误,而不是删除项
-t线程数(默认值:4)
-c最大同时连接数(默认是 1024)
-f块大小增长因子(默认是 1.25)
-n bytes最小分配空间,key+value+flags(默认值:48)
-C禁用 CAS
-S启用 sasl 安全验证功能,开启后,客户端需要提供用户名密码才能访问 memcached
<script type="text/javascript"> $(function () { $('pre.prettyprint code').each(function () { var lines = $(this).text().split('\n').length; var $numbering = $('<ul/>').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i <= lines; i++) { $numbering.append($('<li/>').text(i)); }; $numbering.fadeIn(1700); }); }); </script>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值