Memcached安装及数据库操作管理
认识Memcached
Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库驱动网站的速度。Memcached基于一个存储键/值对的hashmap。其守护进程(daemon )是用C写的,但是客户端可以用任何语言来编写,并通过memcached协议与守护进程通信。
Memcached特征
memcached作为高速运行的分布式缓存服务器,具有以下的特点。
协议简单
基于libevent的事件处理
内置内存存储方式
memcached不互相通信的分布式
存储方式
为了提高性能,memcached中保存的数据都存储在memcached内置的内存存储空间中。由于数据仅存在于内存中,因此重启memcached、重启操作系统会导致全部数据消失。另外,内容容量达到指定值之后,就基于LRU(Least Recently Used)算法自动删除不使用的缓存。memcached本身是为缓存而设计的服务器,因此并没有过多考虑数据的永久性问题。
安装案例
使用2台CentOS7系统完成,一台Memcached服务器,一台基于LAMP架构进行的Memcache客户端
安装包脚本下载地址:请点击下载
主机名称 | 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
Memcached客户端
搭建LAMP架构:LAMP架构教程
下面测试数据库工作是否正常
# 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(); ?>
显示Success 为正常
安装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
在浏览器输入网页
Memcached数据库操作与管理
安装使用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 7example gets username VALUE username 0 7 1 //最后一位是更新因子会自增1example
更新数据
set username 0 0 10 //更新信息,若键名不存在,则自行添加everything replace username 0 0 8 //更新信息,若键名不存在,则报错12345678
检测更新
gets username VALUE username 0 8 412345678cas username 0 0 7 4 //检查更新,更新因子相等则更新否则返回EXISTSlodging 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 //退出
本文转自若此生无缘博客51CTO博客,如需转载,请自行联系原作者。
- 点赞
- 收藏
- 关注作者
评论(0)