memcache安装
一,memcache简单介绍:
memcached是高性能的分布式内存缓存服务器,为了提高性能,memcached中的数据都保存在内存中,重启memcached及重启操作系统都会导致缓存中的数据全部丢失,其缓存的数据达到指定的内存分配值之后,就会使用LRU算法删除不使用的缓存。(LRU算法的基本概念:当分配的内存可用空间不足时,它尽可能地先保留最常用的数据,将最近没有使用的数据移出内存,释放出的空间来存储其它的数据。)
其作用是缓存数据库查询结果,这样就减少了对数据库的访问次数据,从而减轻数据库的压力,这样就提高了用户的访问速度,典型应用如下图所示:
-
实验环境:3台虚拟机, Web——memcache——mysql
web服务器安装:Apache+PHP+PHP(memcache扩展)+mysql+mysql-devel
memcache服务器:libevent libevent-devel memcache
mysql服务器: 安装mysql
一、web安装
1、#yum install -y mysql mysql-devel
#./configure --preifx=/usr/local/apache2 --enable-so --enable-rewrite //安装Apache服务
#make ; make install
#LDFLAGS=-L/usr/lib/mysql ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2/bin/apxs --with-config-file-path=/usr/local/php/etc --with-mysql=/var/lib/mysql --with-jpeg-dir --with-png-dir --with-bz2 --with-freetype-dir --with-iconv-dir --enable-thread-safe-client --with-mysql --with-pdo-mysql --with-mysqli=/usr/lib/mysql/mysql_config //编译安装PHP
#make ; make install
注:编译PHP的时候遇到的错误:
configure: error: Cannot find libmysqlclient_r under /usr.
Note that the MySQL client library is not bundled anymore!
解决办法如下:
[root@youxia205 php-5.2.14]# cp -r /usr/lib/mysql/* /usr/lib/
2、#vi /usr/local/apache2/conf/httpd.conf //修改httpd.conf支持php
#AddType application/x-gzip .tgz
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps //加上下面2行
<IfModule dir_module>
DirectoryIndex index.php index.html index.htm
</IfModule> //加上index.php,这时候启动Apache能看见PHP测试页
3、安装客户端(需要PHP环境及PHP的memcache扩展):
[root@youxia205 opt]# wget http://www.php.net/get/php-5.2.14.tar.bz2/from/cn.php.net/mirror
[root@youxia205 opt]# tar -zxvf memcache-2.2.5.tgz
4、#vi /usr/local/apache2/htdocs/memtest.php //建立memtest.php测试页,测试memcache使用
<?php
$memcachehost = '192.168.37.20'; //memcache的IP地址
$memcacheport = 11211;
$memcachelife = 60;
$memcache = new Memcache;
$memcache->connect($memcachehost,$memcacheport) or die ("Could not connect");
$query="select * from personal_info limit 10";
$key=md5($query);
if(!$memcache->get($key))
{
$conn=mysql_connect("192.168.37.30","root","123456"); //这里注意IP是memcache服务IP,root是mysql用户名,123456是密码
mysql_select_db(mydb);
$result=mysql_query($query);
while ($row=mysql_fetch_assoc($result))
{
$arr[]=$row;
}
$f = 'mysql';
$memcache->add($key,serialize($arr),0,30);
$data = $arr ;
}
else{
$f = 'memcache';
$data_mem=$memcache->get($key);
$data = unserialize($data_mem);
}
echo $f;
echo "<br>";
//print_r($data);
foreach($data as $a)
{
echo "number is <b><font color=#FF0000>$a[pi_id]</font></b>";
echo "<br>";
echo "name is <b><font color=#FF0000>$a[pi_name]</font></b>";
echo "<br>";
echo "tel is <b><font color=#FF0000>$a[pi_tel]</font></b>";
echo "<br>";
echo "qq is <b><font color=#FF0000>$a[pi_qq]</font></b>";
echo "<br>";
echo "email is <b><font color=#FF0000>$a[pi_email]</font></b>";
echo "<br>";
}
?> //OK web服务器就算安装完毕
二、 memcache安装
安装libevent库,它将Linux的epoll、freebsd操作系统的kqueue等事件处理功能封装成统一的接口,memcached使用这个库,可以发挥其高性能。
1、在本机先使用root用户登录mysql:
mysql -u root -p"youpassword"
进行授权操作:
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
重载授权表:
FLUSH PRIVILEGES;
退出,然后测试一下在web上 mysql -u root -h IP -p 是否能登录上mysql
#执行的时候报错
Fatal error: Class 'Memcache' not found in /usr/local/apache2/htdocs/memtest.php on line 5
1、解决方法如下:
[root@youxia205 htdocs]# find / -name memcache.so
/usr/local/php/lib/php/extensions/no-debug-zts-20060613/memcache.so
/opt/memcache-2.2.5/.libs/memcache.so
/opt/memcache-2.2.5/modules/memcache.so
2、vi /usr/local/php/etc/php.ini
extension_dir = "./"
extension_dir = "/usr/local/php/lib/php/extensions/no-debug-zts-20060613"
3、正确就会显示如下内容:
memcache
number is 1
name is eric
tel is 13611031222
qq is 55555555
email is eric@nginxs.com
4、查看数据库中正在执行的语句,没有发现对mydb库执行查询的线程,说明PHP直接从memcache中提取的数据:
memcache安装相关推荐
- php5.3安装memcache,Windows下的Memcache安装 附php5.3的扩展
Windows下的Memcache安装: 1. 下载memcache的windows稳定版,解压放某个盘下面,比如在c:\memcached 2. 在终端(也即cmd命令界面)下输入 'c:\memc ...
- Windows下的Memcache安装
很多phper不知道如何在Windows下搭建Memcache的开发调试环境,最近个人也在研究Memcache,记录下自己安装搭建的过程. 其实我开始研究Memcache的时候并不知道居然还有memc ...
- Memcache 安装与命令 (windows 64bit)
Memcache 安装步奏如下: 1,解压memcached-win64-1.4.4-14.zip到D盘,例如如图所示: 2,设置memcached.exe以管理员的方式运行 3,使用如下命令安装成服 ...
- DEDECMS最新5.7版在Windows下的Memcache安装
一,织梦后台后台设置进入系统后台,在[系统基本参数]下面的"性能选项"卡当中,关于memcache进行如下配置: cfg_memcache_enable : 是否启用memcach ...
- CentOS 5.4下的Memcache安装步骤(Linux+Nginx+PHP+Memcached)
CentOS 5.4下的Memcache安装步骤分享,想要配置Linux+Nginx+PHP+Memcached运行环境的朋友可以参考下 一.源码包准备 服务器端主要是安装memcache服务器端,目 ...
- php 调用memcache,Windows下的Memcache安装(php调用)
Windows下的Memcache安装: 1. 下载memcache的windows稳定版,解压放某个盘下面,比如在c:\memcached 2. 在终端(也即cmd命令界面)下输入 'c:\memc ...
- Memcache安装 2
服务器端下载地址:http://jehiah.cz/projects/memcached-win32/<wbr><br> 客户端下载地址:<a href="ht ...
- centos 下memcached 构建以及php memcache安装
centos 下memcached 构建以及php memcache安装 memcached 与memcache的区别,请google 一.构建memcached 服务器(memcached服务端程序 ...
- Linux下的Memcache安装(含libevent的安装)
Linux下Memcache服务器端的安装 服务器端主要是安装memcache服务器端,目前的最新版本是 memcached-1.3.0 . 下载:http://www.danga.com/memca ...
最新文章
- net5:Theme主题样式的动态变换,在内容页content中操作影响模板页的操作
- 公司技术部门内部的发展变化过程。
- 第三十六课:告别演出
- kotlin和python哪个好_python替代品for一些java及kotlin功能(慎入啊慎入)
- webpack的sourcemap
- nodejs npm和yarn 源管理模块 yrm(记录方便查看)
- Stata+R:一文读懂中介效应
- c语言源码转流程图,C语言算法第5章源代码以及流程图.doc
- 服务器的文件分发功能,Web文件分发协议
- 什么手机便签软件好用
- 博云与智领云达成战略合作,携手共研云原生大数据领域
- 软件开发中的王者荣耀理论
- 使用Qt通过Post发送Json格式数据
- SQL SERVER性能优化-查询速度提高
- Win10自带相机找不到代码0xA00F4244?这里有九条解决方法
- 【术语】本地部署、云化部署、混合部署
- 记录下配置腾讯云服务器的过程
- Spec Explorer 2010
- ## YARN运行资源配置
- 应用宝使用绑定iOS下载
热门文章
- c语言实验报告管理系统,C语言实验报告-学生信息资管理系统.doc
- 使用Python,OpenCV进行去水印,图像修复
- Python-pcl 随机采样一致性算法
- 基于pytorch后量化(mnist分类)---浮点训练vs多bit后量化vs多bit量化感知训练效果对比
- matlab实现移动平均
- Udacity机器人软件工程师课程笔记(二十八) - 卷积神经网络实例 - Fashion-MNIST数据集
- 《初级前端开发人员经常容易忽视几个细节问题汇总》
- Node.js开发WEB项目后端接口API,基于mysql5.7数据库(小试牛刀)
- Go 分布式学习利器(19)-- Go并发编程 之 CSP(communicating sequential processes) 机制
- linux 文件IO与内存映射:内存映射