标签:ofo replace recently shm index.php images grant flush 特点
Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库驱动网站的速度。Memcached基于一个存储键/值对的hashmap。其守护进程(daemon )是用C写的,但是客户端可以用任何语言来编写,并通过memcached协议与守护进程通信。
- memcached作为高速运行的分布式缓存服务器,具有以下的特点。
- 协议简单
- 基于libevent的事件处理
- 内置内存存储方式
- memcached不互相通信的分布式
主机名称 | IP | 主要软件 |
---|---|---|
Memcached服务器 | 192.168.86.131 | memcached-1.5.6.tar.gz、libevent-2.1.8-stable.tar.gz |
Memcache 客户端 | 192.168.86.128 | memcache-2.2.7.tgz 、httpd、mysql、php |
?
Memcached服务器
# tar xf memcached-1.5.6.tar.gz -C /opt/
# tar xf libevent-2.1.8-stable.tar.gz -C /opt/
# yum install gcc gcc-c++ make -y
# cd /opt/libevent-2.1.8-stable
# ./configure --prefix=/usr/local/libevent
# make && make install
# cd /opt/memcached-1.5.6
# ./configure --prefix=/usr/local/memcached --with-libevent=/usr/local/libevent/
# make && make install
# ln -s /usr/local/memcached/bin/* /usr/local/bin/
# memcached -d -m 32m -p 11211 -u root // 开启服务(-d守护进程 -m缓存大小32M -p端口11211)
# netstat -anpt | grep memc //查看端口 11211/tcp端口
# systemctl stop firewalld.service
# setenforce 0
?
下面测试数据库工作是否正常
# mysql -u root -p
> CREATE DATABASE sky;
> GRANT all ON sky.* TO ‘skyuser‘@‘%‘ IDENTIFIED BY ‘admin123‘;
> flush privileges;
# vi /usr/local/httpd/htdocs/index.php
<?php
$link=mysql_connect(‘192.168.86.128‘,‘skyuser‘,‘admin123‘);
if($link) echo "<h1>Success!!</h1>";
else echo "Fail!!";
mysql_close();
?>
?
?
?
?
安装Memcached客户端
# yum install autoconf -y
# tar xf memcache-2.2.7.tgz -C /opt/
# cd /opt/memcache-2.2.7
//使用PHP的phpize脚本生成配置脚本configure 再进行配置编译
# /usr/local/php5/bin/phpize
# ./configure --enable-memcache --with-php-config=/usr/local/php5/bin/php-config
# make && make install
# /usr/local/php5/lib/php/extensions/no-debug-zts-20131226/ //记录此行下面用到
# vi /usr/local/php5/php.ini //搜索并修改下面一行,再新增一行
extension_dir = "/usr/local/php5/lib/php/extensions/no-debug-zts-20131226/"
extension = memcache.so
编写测试页面,测试memcached工作是否正常
# vi /usr/local/httpd/htdocs/index.php
<?php
$memcache = new Memcache();
$memcache->connect(‘192.168.86.131‘,11211);
$memcache->set(‘key‘,‘Memcache test Successfull!‘,0,60);
$result = $memcache->get(‘key‘);
unset($memcache);
echo $result;
?>
# service httpd restart
?
?
?
?
安装使用telnet连接11211端口就可以对数据库进行操作和管理了
# yum install telnet -y
# telnet 127.0.0.1 11211
新建数据
add username 0 0 7 //不进行压缩和序列化标识 数据过期时间为永不过期 标识号是7就需要输入7位数。
example //输入数据
获取数据
get username //获取数据
VALUE username 0 7
example
gets username
VALUE username 0 7 1 //最后一位是更新因子会自增1
example
更新数据
set username 0 0 10 //更新信息,若键名不存在,则自行添加
everything
replace username 0 0 8 //更新信息,若键名不存在,则报错
12345678
检测更新
gets username
VALUE username 0 8 4
12345678
cas username 0 0 7 4 //检查更新,更新因子相等则更新否则返回EXISTS
lodging
STORED
追加数据
append username 0 0 7 //键值后追加数据
example
STORED
prepend username 0 0 2 //键值前追加数据
un
STORED
清除数据
delete username //清除指定的键值数据
flush_all //清除所有缓存数据
OK
查看服务器统计信息
stats //显示状态信息
stats items //返回所有键值对的统计信息
stats cachedump 1 0 //返回指定存储空间的键值对
stats slabs //显示各个slab的信息
stats sizes //输出所有item的大小和个数
stats reset //清空统计数据
退出
quit //退出
标签:ofo replace recently shm index.php images grant flush 特点
原文地址:http://blog.51cto.com/13630803/2149709