本章内容:
- Memcached
- 简介、安装、使用
- Python 操作 Memcached
- 天生支持集群
- redis
- 简介、安装、使用、实例
- Python 操作 Redis
- String、Hash、List、Set、Sort Set 操作
- 管道
- 发布订阅
- RabbitMQ
- 简介、安装、使用
- 使用 API 操作 RabbitMQ
- 消息不丢失
- 发布订阅
- 关键字发送
- 模糊匹配
一、Memcached
1、简介、安装、使用
Memcached 是一个高性能的分布式内存对象缓存系统,用于动态 Web 应用以减轻数据库负载压力。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库驱动网站的速度。Memcached 基于一个存储键/值对的 hashmap。其守护进程(daemon )是用 C 写的,但是客户端可以用任何语言来编写,并通过 memcached 协议与守护进程通信。
Memcached 内存管理机制:
Menceched 通过预分配指定的内存空间来存取数据,所有的数据都保存在 memcached 内置的内存中。
利用 Slab Allocation 机制来分配和管理内存。按照预先规定的大小,将分配的内存分割成特定长度的内存块,再把尺寸相同的内存块分成组,这些内存块不会释放,可以重复利用。
当存入的数据占满内存空间时,Memcached 使用 LRU 算法自动删除不是用的缓存数据,即重用过期数据的内存空间。Memcached 是为缓存系统设计的,因此没有考虑数据的容灾问题,和机器的内存一样,重启机器将会丢失,如果希望服务重启数据依然能保留,那么就需要 sina 网开发的 Memcachedb 持久性内存缓冲系统,当然还有常见的 NOSQL 服务如 redis。
默认监听端口:11211
Memcached 安装
wget http://memcached.org/latest tar -zxvf memcached-1.x.x.tar.gz cd memcached-1.x.x ./configure && make && make test && sudo make install PS:依赖libevent yum install libevent-devel apt-get install libevent-dev
# Memcached 服务安装 # 1、安装libevent mkdir /home/oldsuo/tools/ cd /home/oldsuo/tools/ wget http://down1.chinaunix.net/distfiles/libevent-2.0.21-stable.tar.gz ls libevent-2.0.21-stable.tar.gz tar zxf libevent-2.0.21-stable.tar.gz cd libevent-2.0.21-stable ./configure make && make install echo $? cd .. # 2、安装Memcached wget http://memcached.org/files/memcached-1.4.24.tar.gz tar zxf memcached-1.4.24.tar.gz cd memcached-1.4.24 ./configure make make install echo $? cd .. # PS : memcached-1.4.24.tar -->客户端 memcached-1.4.24.tar.gz -->服务端 # 3、启动及关闭服务 echo "/usr/local/lib" >> /etc/ld.so.conf ldconfig # 查看帮助 /usr/local/bin/memcached –h # 启动Memcached服务 memcached -p 11211 -u root -m 16m -c 10240 –d # 查看启动状态 lsof -i :11211 # 关闭服务 pkill memcached # memcached -p 11212 -u root -m 16m -c 10240 -d -P /var/run/11212.pid # kill `cat /var/run/11212.pid` # PS:开机自启动把上述启动命令放入/etc/rc.local