Memcached学习笔记(一)

Memcached

memcached是免费和开放源代码的高性能分布式内存对象缓存系统,旨在通过减轻数据库负载来加速动态Web应用程序。其有以下特点:

  • 基于简单的文本行协议;
  • 全部数据按照k/v形式存放在内存中,无持久化,重启服务数据会丢失;
  • 基于libevent异步I/O模型的事件通知机制。libevent是个程序库,它将Linux的epoll、BSD类操作系统的kqueue等事件处理功能封装成统一的接口。即使对服务器的连接数增加,也能发挥O(1)的性能。memcached使用这个libevent库,因此能在Linux、BSD、Solaris等操作系统上发挥其高性能;
  • 节点之间相互独立,实现分布式需要依赖客户端;

Memcache和Memcached 其实是一个东西,只是php中要是用的扩展不一样, 2009年左右有人丰富memcache的用法和性能,编写了一个libmemcached是独立第三方client library,才有了memcached ,用法也有了很大的改进比如添加了 getMulti() 批量获取键值。

windows下只能安装php_memcache.dll 扩展并不存在 php_memcached.dll, 所以windows 中只能使用$mcd = new Memcache() 不能使用new Memcached()。

一、安装Memcached服务器端

1. 安装
yum -y install gcc libevent libevent-devel &&
cd /usr/local/src/lamp &&
tar -zxvf memcached-1.5.2.tar.gz &&
cd memcached-1.5.2 && 
./configure --prefix=/usr/local/memcached && make && make install

2. 启动

/usr/local/memcached/bin/memcached  -d -m 1024 -u root -l 127.0.0.1 -p 11211 -c 1024 -P /tmp/memcached.pid
-p   TCP端口,默认为11211,可以不设置
-U   UDP端口,默认为11211,0为关闭
-l   监听的ip地址
-d   守护进程(daemon)
-u   指定用户,如果当前为 root ,需要使用此参数指定用户
-m   最大内存,单位MB。默认64MB,32位操作系统,每个进程最多只能使用2GB,64位无限制
-M   禁止LRU策略,内存耗尽时返回错误,而不是删除数据
-c   最大连接数,默认是1024
-vv  查看日志
-P   memcache的pid文件,结束memcache进程:kill `cat /tmp/memcached_32054.pid`
-f   增长因子,默认1.25
-n   初始chunk=key+suffix+value+32结构体,默认48字节
-L   启用大内存页,可以降低内存浪费,改进性能
-t   线程数,默认4。由于memcached采用NIO,所以更多线程没有太多作用
-R   每个event连接最大并发数,默认20
-C   禁用CAS命令(可以禁止版本计数,减少开销)
-I   每次申请内存的页的大小(page),默认1M,最小1k,最大128M
-F   禁用flush_all
3. 查看进程
ps -aux | grep memcached

4. 连接

[root@localhost tmp]# telnet 127.0.0.1 11211
-bash: telnet: command not found

解决:

yum list telnet*
yum install telnet-server 
yum install telnet.*

二、安装Memcached客户端

1、安装Memcached客户端:libmemcached

cd /usr/local/src/lamp &&
tar -zxvf libmemcached-1.0.18.tar.gz &&
cd libmemcached-1.0.18 && 
./configure --prefix=/usr/local/libmemcached && make && make install
2、安装php中memcached拓展

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值