memcache
Memcache
简介
是一个分布式的内存对象缓存系统,memcached中保存的数据都存储在memcached 内置的内存存储空间中。由于数据仅存在于内存中,因此重启memcached、重启操作系统会导致全部数据消失。另外,内容容量达到指定值之后,就基于LRU(Least Recently Used)算法自动删除不使用的缓存。memcached 本身是为缓存而设计的服务器,因此并没有过多考虑数据的永久性问题
Memcached仅支持简单的key-value结构的数据
作用
1.将数据存入内存,需要的时候再从内存中读取
2.一般的使用目的是通过缓存数据库查询结果,减少数据库的访问次数,以提高动态web应用的速度,提高可扩展性.
3.原理如果有缓存,就读取缓存,如果没有,就读取数据库
------------------------------------------------------------
语法
实例化memcache对象-->$mem=new Memcache();
链接memcache到服务器--->$men->connect('localhost',11211);
----------------------------------------------------------------
数据写入缓存的,对数据操作的增删改查
set('键','值');向缓存中添加数据
get('键');通过键名获取存入缓存中对应数据的值
addServer('localhost',11211);再链接一个服务器(当是服务器集群的时)
add('键','值');向缓存中添加一条数据
注意set方法的键在缓存中存在的时候表示修改数据,当存在的时候表示添加数据,add方法只能添加,不能修改
delete('键');通过键删除一条数据
flush();清空所有的缓存
increment('键',数字);当有两个参数的时候,表示参数一一次自增参数2的值,当只有一个参数的时候刷新一次,自增一个,这个一般用作阅读次数,点击量
decrement('键',数字);这个用法同上,是自减
--------------------------------------------------------------------
生命周期
add('键', '值', MEMCACHE_COMPRESSED, 数字);定义一条数据在缓存中存在多久,数字单位是秒
set('键', 值, MEMCACHE_COMPRESSED, 数字);定义一条数据在缓存中存在多久,数字单位是秒
---------------------------------------------------------
缓存中的键时唯一的,查询数据库的语句最好加密
安装
linux
安装
1. 安装libevent
官方网站
http://libevent.org/
1. 解压
tar -zvxf libevent-2.1.8-stable.tar.gz
2. 进入目录
cd libevent-2.1.8-stable
3. 执行
./autogen.sh
4. 配置
./configure -prefix=/usr
5. 编译安装
make && make install
2. 安装memcached
官方网站
http://memcached.org
1. 解压
tar -zxvf memcached-1.x.x.tar.gz
2. 进入目录
cd memcached-1.x.x
3. 一步搞定
./configure && make && make test && sudo make install
启动
memcached -d -u root -p 11211
安装 php 扩展
1. 下载
https://github.com/websupport-sk/pecl-memcache/archive/php7.zip
2. 解压
unzip pecl-memcache-php7.zip
3. 进入目录
cd pecl-memcache-php7
4. 执行phpize
/usr/local/php/bin/phpize
5. 配置
./configure --with-php-config=/usr/local/php/bin/php-config
6. 编译安装
make && make install
7. 修改 php.ini 配置文件
快速定位php.ini和php扩展目录的位置
phpinfo,Loaded Configuration File
vim /usr/local/php/etc/php.ini
extension_dir = "/usr/local/php/lib/php/extensions/no-debug-zts-20151012/"
extension="memcache.so";
8. 重启apache
/usr/local/apache2/bin/apachectl restart
Memcache
简介
是一个分布式的内存对象缓存系统,memcached中保存的数据都存储在memcached 内置的内存存储空间中。由于数据仅存在于内存中,因此重启memcached、重启操作系统会导致全部数据消失。另外,内容容量达到指定值之后,就基于LRU(Least Recently Used)算法自动删除不使用的缓存。memcached 本身是为缓存而设计的服务器,因此并没有过多考虑数据的永久性问题
Memcached仅支持简单的key-value结构的数据
作用
1.将数据存入内存,需要的时候再从内存中读取
2.一般的使用目的是通过缓存数据库查询结果,减少数据库的访问次数,以提高动态web应用的速度,提高可扩展性.
3.原理如果有缓存,就读取缓存,如果没有,就读取数据库
------------------------------------------------------------
语法
实例化memcache对象-->$mem=new Memcache();
链接memcache到服务器--->$men->connect('localhost',11211);
----------------------------------------------------------------
数据写入缓存的,对数据操作的增删改查
set('键','值');向缓存中添加数据
get('键');通过键名获取存入缓存中对应数据的值
addServer('localhost',11211);再链接一个服务器(当是服务器集群的时)
add('键','值');向缓存中添加一条数据
注意set方法的键在缓存中存在的时候表示修改数据,当存在的时候表示添加数据,add方法只能添加,不能修改
delete('键');通过键删除一条数据
flush();清空所有的缓存
increment('键',数字);当有两个参数的时候,表示参数一一次自增参数2的值,当只有一个参数的时候刷新一次,自增一个,这个一般用作阅读次数,点击量
decrement('键',数字);这个用法同上,是自减
--------------------------------------------------------------------
生命周期
add('键', '值', MEMCACHE_COMPRESSED, 数字);定义一条数据在缓存中存在多久,数字单位是秒
set('键', 值, MEMCACHE_COMPRESSED, 数字);定义一条数据在缓存中存在多久,数字单位是秒
---------------------------------------------------------
缓存中的键时唯一的,查询数据库的语句最好加密
安装
linux
安装
1. 安装libevent
官方网站
http://libevent.org/
1. 解压
tar -zvxf libevent-2.1.8-stable.tar.gz
2. 进入目录
cd libevent-2.1.8-stable
3. 执行
./autogen.sh
4. 配置
./configure -prefix=/usr
5. 编译安装
make && make install
2. 安装memcached
官方网站
http://memcached.org
1. 解压
tar -zxvf memcached-1.x.x.tar.gz
2. 进入目录
cd memcached-1.x.x
3. 一步搞定
./configure && make && make test && sudo make install
启动
memcached -d -u root -p 11211
安装 php 扩展
1. 下载
https://github.com/websupport-sk/pecl-memcache/archive/php7.zip
2. 解压
unzip pecl-memcache-php7.zip
3. 进入目录
cd pecl-memcache-php7
4. 执行phpize
/usr/local/php/bin/phpize
5. 配置
./configure --with-php-config=/usr/local/php/bin/php-config
6. 编译安装
make && make install
7. 修改 php.ini 配置文件
快速定位php.ini和php扩展目录的位置
phpinfo,Loaded Configuration File
vim /usr/local/php/etc/php.ini
extension_dir = "/usr/local/php/lib/php/extensions/no-debug-zts-20151012/"
extension="memcache.so";
8. 重启apache
/usr/local/apache2/bin/apachectl restart