Memcached详解

 

Memcached介绍

Memcached是什么?

Free & open source, high-performance, distributed memory object caching system(自由&开放源码,高性能,分布式的内存对象缓存系统)。由LiveJournal旗下的danga公司开发的老牌nosql应用。

什么是NoSQL?

NoSQL,指的是非关系型的数据库。

相对于传统关系型数据库的"行与列",NoSQL的鲜明特点为key-value存储(memcache,redis),或基于文档存储(mongodb)。

注:nosql --not only sql,不仅仅是关系型数据库

Memcached安装

Linux下编译Memcached

准备编译环境

再Linux下编译,需要gcc,make,cmake,autoconf,libtool等工具,这几件工具,以后还要编译redis等使用,所以需要先安装。在Linux系统联网后,用如下命令安装 

yum install gcc gcc-c++ make cmake autoconf libtool

编译Memcached

Memcached依赖于libevent库,因此我们需要先安装libevent。分别到libevent.org和memcached.org下载最新的stable版本(稳定版)。

先编译libevent,再编译memcached。

编译Memcached时要指定libevent的路径。

过程如下:假设源码在/root/package下,安装在/usr/local下

tar zxvf libevent-2.1.8-stable.tar.gz cd libevent-2.1.8-stable ./configure --prefix=/usr/local/libevent make && make install 安装memcached tar zxvf memcached-1.5.1.tar.gz cd memcached-1.5.1 ./configure --prefix=/usr/local/memcached --with-libevent=/usr/local/libevent/ make && make install  配置环境变量 vi /etc/profile export PATH="$PATH:/usr/local/memcached/bin" source /etc/profile  创建memcached用户 useradd memcached  设置开机自动启动: vi /etc/rc.local 增加 /usr/local/memcached/bin/memcached -u memcached -m 64 &

PHP安装Memcached扩展

http://pecl.php.net/package/memcache下载扩展包 wget https://pecl.php.net/get/memcache-2.2.7.tgz tar zxvf memcache-2.2.7.tgz cd memcache-2.2.7  phpize  //执行phpize命令,phpize是PHP的工具,用来将PHP的扩展与PHP程序建立关联 配置编译安装 ./configure && make && make install  修改php.ini vi /usr/local/php/lib/php.ini  在大约928行左右加上扩展配置 ;linux extension load extension=memcache.so  重启Apache apachectl -k restart 在phpinfo里可以查找到memcache说明安装成功

Memcached的启动

memcached -m 64 -p 11211 -u nobody -d   //-d表示后台运行(也可以用&)

可以使用memcached -h查看帮助来了解各个参数的意义。

Memcached基本使用

PHP操作Memcache

方法 方法说明
connect() 打开一个memcached服务端连接
add() 增加一个条目到缓存服务器
addServer() 向连接池中添加一个memcache服务器
increment() 增加一个元素的值
decrement() 减小一个元素的值
delete() 从服务端删除一个元素
flush() 清洗(删除)已经存储的所有的元素
get() 从服务端检回一个元素
set() 保存数据到缓存服务器
replace()
关键字:
50000+
5万行代码练就真实本领
17年
创办于2008年老牌培训机构
1000+
合作企业
98%
就业率

联系我们

电话咨询

0532-85025005

扫码添加微信