Memcached:
- 简介、安装、使用
- python操作Memcached
- Memcached天生支持集群
Redis:
- 简介、安装、使用、实例
- Python操作Redis
- String、Hash、List、Set
- 管道
- 发布订阅
RabbitMQ:
- 简介、安装、使用
- 使用API操作RabbitMQ
- 消息不丢失
- 发布订阅
- 关键字发送
- 模糊匹配
1、简介、安装、使用
Memcached 是一个高性能的分布式内存对象缓存系统,用于动态 Web 应用以减轻数据库负载压力。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库驱动网站的速度。Memcached 基于一个存储键/值对的 hashmap。其守护进程(daemon )是用 C 写的,但是客户端可以用任何语言来编写,并通过 memcached 协议与守护进程通信。
Memcached 内存管理机制:
Memcached 通过预分配指定的内存空间来存取数据,所有的数据都存在memcached内置的内存中。
利用 Slab Allocation机制来分配和管理内存。按照预先规定的大小,将分配的内存分割成特定的长度的内存块,在把尺寸相同的内存块分组,这些内存块不会释放,可以重复利用。
当存入的数据沾满内存空间,Memcached 使用的 LRU算法自动删除无效的缓存数据(重新利用过期数据的内存空间),Memcached 是为缓存系统设计的,因此没有考虑到数据容灾的问题,和机器内存一样重启机器数据将会丢失。如果希望服务器重启数据依然保留,那么就需要 sina网开发的Memcached 持久性内存缓冲系统,当然还有常见的NOSQL服务,比如:redis
默认的监听端口是:11211
Memcached的安装:
先安装依赖:
PS:依赖libevent
yum install libevent-devel
apt-get install libevent-dev
安装:
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
# 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