认识Memcached
Memcached是一套开源的高性能分布式内存对象缓存系统,它将所有的数据都存储在内存中,因为在内存中会统一维护一张巨大的Hash表,所以支持任意存储类型的数据。很多 站通过使用Memcached提高 站的访问速度,尤其是对于大型的需要频繁访问数据的 站。Memcached是典型的C/S架构,因此需要安装Memcached服务端与MemcachedAPI客户端。Memcached服务端是用C语言编写的,而Memcached API客户端可以用任何语言来编写,如PHP、Python、 Perl等,并通过Memcached协议与Memcached服务端进行通信。
当Web客户端发送请求到Web服务器的应用程序时,应用程序会通过调用Memcached API客户端程序库接口去连接Memcached服务器,进而查询数据。如果此时Web客户端所请求的数据已经在Memcached服务端中缓存,则Memcached服务端会将数据返回给Web客户端;如果数据不存在,则会将Web客户端请求发送至MySQL数据库,由数据库将请求的数据返回给Memcached以及Web客户端,与此同时Memcached服务器也会将数据进行保存,以方便用户下次请求使用。
Memcached缓存机制
缓存是常驻在内存的数据,能够快速进行读取。而Memcached就是这样一款非常出色的缓存软件,当程序写入缓存数据请求时,Memcached的API接口将Key输入路由算法模块路由到集群中一台服务器,之后由API接口与服务器进行通信,完成一次分布式缓存写入。
安装Memcached案例
本案例使用两台CentOS 7系统和一台Windows 7完成,两台CentOS 7中一台是Memcached服务端,另一条是基于LAMP架构进行Memcached扩展的Memcached API客户端
Memcached服务器IP: 192.168.10.172
主要软件包:
libevent-2.1.8-stable.tar.gz
memcached-1.5.6.tar.gz
Memcached API客户端IP:192.168.10.154
主要软件包:
httpd-2.4.29.tar.gz
mysql-5.6.26.tar.gz
php-5.6.11.tar.bz2
libevent-2.1.8-stable.tar.gz
memcached-1.5.6.tar.gz
测试主机IP:192.168.10.145
安装Memcached服务器
1、解压相关软件包
tar xzvf memcached-1.5.6.tar.gz -C /opt/
tar xzvf libevent-2.1.8-stable.tar.gz -C /opt/
2、Memcached服务器端操作
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/ //指明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 //查看端口,确认开启
systemctl stop firewalld.service
setenforce 0 //关闭防火墙和安全功能
2、安装MYSQL
安装相关环境包
yum install -y ncurses-devel autoconf cmake
解压软件包,配置,编译安装
tar xzvf mysql-5.6.26.tar.gz -C /opt
cd /opt/mysql-5.6.26
cmake
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql
-DDEFAULT_CHARSET=utf8
-DDEFAULT_COLLATION=utf8_general_ci
-DEXTRA_CHARSETS=all
-DSYSCONFIDIR=/etc
-DMYSQL_DATADIR=/home/mysql/
-DMYSQL_UNIX_ADDR=/home/mysql/mysql.sock
make && make install
将启动脚本复制到/etc/init.d/目录下方便service管理
cp support-files/my-default.cnf /etc/my.cnf
cp support-files/mysql.server /etc/init.d/mysqld
chmod 755 /etc/init.d/mysqld //给启动脚本加权限
chkconfig –add /etc/init.d/mysqld //添加到service管理器中
chkconfig mysqld –level 35 on //35级别开机自启动
设置环境变量
echo “PATH=$PATH:/usr/local/mysql/bin” >> /etc/profile //环境变量
source /etc/profile //刷新环境变量
echo $PATH //查看
创建数据库管理用户,初始化数据库
useradd -s /sbin/nologin mysql
chown -R mysql:mysql /usr/local/mysql/
cd /opt/mysql-5.6.26
/usr/local/mysql/scripts/mysql_install_db
–user=mysql
–ldata=/var/lib/mysql
–basedir=/usr/local/mysql
–datadir=/home/mysql //初始化数据库
ln -s /var/lib/mysql/mysql.sock /home/mysql/mysql.sock //方便管理创建软链接
修改主配置文件,并开启服务
vi /etc/init.d/mysqld
basedir=/usr/local/mysql //指明安装目录
datadir=/home/mysql //指明数据存放目录
3、安装PHP
安装GD库及相关环境包
yum -y install
gd
libpng
libpng-devel
pcre
pcre-devel
libxml2-devel
libjpeg-devel
解压软件包,配置,并编译安装
tar xjvf php-5.6.11.tar.bz2 -C /opt
cd /opt/php-5.6.11
./configure
–prefix=/usr/local/php5
–with-gd
–with-zlib
–with-apxs2=/usr/local/httpd/bin/apxs
–with-mysql=/usr/local/mysql
–with-config-file-path=/usr/local/php5
–enable-mbstring
make && make install
方便管理创建软链接
cp php.ini-development /usr/local/php5/php.ini
ln -s /usr/local/php5/bin/* /usr/local/bin/
ln -s /usr/local/php5/sbin/* /usr/local/sbin/
vim /etc/httpd.conf
#插入下两行内容
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
#添加PHP类型的首页
DirectoryIndex index.php index.html
首页目录下添加PHP类型的首页,可使用浏览器测试
vi /usr/local/httpd/htdocs/index.php
phpinfo();
浏览器测试“http://192.168.10.154/index.php”
以下是在客户端去检测服务端是否可以连接
vim /usr/local/httpd/htdocs/index.php //编写测试页面,测试memcached工作是否正常
#重新插入如下内容
$memcache = new Memcache();
$memcache->connect(‘192.168.175.128’,11211);
$memcache->set(‘key’,’Memcache test Successfull!’,0,60);
$result = $memcache->get(‘key’);
unset($memcache);
echo $result;
systemctl restart httpd.service //重启Apache
http://192.168.10.154/index.php //输入客户端地址测试是否成功
文章知识点与官方知识档案匹配,可进一步学习相关知识MySQL入门技能树首页概览31954 人正在系统学习中 相关资源:管道壁厚计算软件_管道壁厚计算软件-制造工具类资源-CSDN文库
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!