memcache缓存服务器(安装-配置-测试篇)

部署环境:

主机 ip地址 操作系统
nginx 172.16.1.100 CentOS 7.3
php+memcache 172.16.1.110 CentOS 7.3
Mysql 172.16.1.120 CentOS 7.3
memcached 172.16.1.130 CentOS 7.3

一, 环境准备:

搭建LNMP环境(动态解析)

1,安装nginx

1)安装依赖工具包:
[[email protected] ~]# yum -y install gcc* pcre-devel openssl-devel zlib-devel make vim 
2)创建nginx用户组和用户:
[[email protected] ~]# groupadd -r nginx && useradd -r  -g nginx -s /bin/false -M nginx
3)解压源码包,配置&&编译安装:
[[email protected] ~]# tar zxf nginx-1.8.0.tar.gz
[[email protected] ~]# cd nginx-1.8.0
[[email protected] nginx-1.8.0]# ./configure --help ##可以查看自己需要的模块 --with,或取消的模块–without
#根据自己的需求添加不同的模块
[[email protected] nginx-1.8.0]# ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx >  --with-http_stub_status_module --with-http_ssl_module  --with-http_dav_module  --with-http_flv_module >  --with-http_mp4_module --with-http_gzip_static_module --with-http_gzip_static_module >  --with-http_addition_module --with-http_sub_module  --with-pcre
[[email protected] nginx-1.8.0]# make && make install
#优化路径并检查:
[[email protected] nginx-1.8.0]# ln -s /usr/local/nginx/sbin/nginx  /usr/local/sbin/
[[email protected]er nginx-1.8.0]# nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
#启动服务:
[[email protected] nginx-1.8.0]# nginx
[[email protected] nginx-1.8.0]# netstat -anput | grep nginx
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      21416/nginx: master
#开启防火墙的80端口:
[[email protected] nginx-1.8.0]# firewall-cmd --add-port=80/tcp --permanent
success
[[email protected] nginx-1.8.0]# firewall-cmd --reload
success

2,安装php

1)安装依赖工具包:
[[email protected] ~]# yum -y  install gcc*  pcre-devel openssl-devel zlib-devel libxml2-devel libcurl-devel bzip2-devel make vim 
2)安装php的加密扩展模块libmcrypt
[[email protected] ~]# tar zxf libmcrypt-2.5.7.tar.gz
[[email protected] ~]# cd libmcrypt-2.5.7
[[email protected] libmcrypt-2.5.7]# ./configure --prefix=/usr/local/libmcrypt && make && make install
3)安装php:
[[email protected] ~]# tar zxf php-5.6.27.tar.gz
[[email protected] ~]# cd php-5.6.27
[[email protected] php-5.6.27]# ./configure  --prefix=/usr/local/php5.6  --with-mysql=mysqlnd >  --with-pdo-mysql=mysqlnd --with-mysqli=mysqlnd --with-openssl --enable-fpm   --enable-sockets > --enable-sysvshm  --enable-mbstring --with-freetype-dir --with-jpeg-dir  --with-png-dir > --with-zlib --with-libxml-dir=/usr --enable-xml  --with-mhash --with-mcrypt=/usr/local/libmcrypt > --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d  --with-bz2  --enable-maintainer-zts

配置参数解释:

--prefix=/usr/local/php7.2 #指定php的安装路径
mysqlnd(mysql native driver)#php源码提供的mysql驱动连接代码
--with-mysql=mysqlnd #支持mysql
--with-pdo-mysql=mysqlnd #支持pdo模块,php执行命令通过pdo语法来连接后端的数据库
--with-mysqli=mysqlnd  #执行libmysql模块,也叫mysql的增强模块
 --with-openssl #支持ssl
 --enable-fpm  #开启php的进程管理器
 --enable-sockets #开启socket支持,socket本职位编程接口(API)
 --enable-sysvshm #开启系统共享内存支持
 --enable-mbstring  #支持多字节字符串,如中文就是多字节字符串,一个汉字代表2个字节
 --with-freetype-dir #支持freetype(字体引擎),需要借助freetype-devel,字体解析工具
 --with-jpeg-dir   #支持jepg和png图片,php在解析的过程会生成一些图像
--with-png-dir
 --with-zlib  #数据压缩用的函数库
--with-libxml-dir=/usr #打开libxml2库支持的xml文件
--enable-xml  #开启xml文件传输
 --with-mhash #支持mhash,mhash可用于创建校验数值,消息摘要,消息认证码,以及无需要原文等待关键信息保存(如密码)等
 -with-mcrypt=/usr/local/libmcrypt #php中加密支持扩展库
 --with-config-file-path=/etc  #配置文件路径
 --with-config-file-scan-dir=/etc/php.d #配置文件扫描路径
 --with-bz2 #支持bzip2压缩
 --enable-maintainer-zts #支持php多线程扩展

注意:在php7版本中,已经不支持的某些参数选项,比如上面–with-mcrypt和--with-mysql参数已经在7版本中废除了,如果用的是7版本,在配置时需要将上面两个编译选项删除就可以了。

#编译安装
[[email protected] php-5.6.27]# make && make install
#提供php配置文件:
[[email protected] php-5.6.27]# cp php.ini-production /etc/php.ini
#创建php-fpm服务启动脚本:
[[email protected] php-5.6.27]# cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
[[email protected] php-5.6.27]# chmod +x /etc/init.d/php-fpm
#加入开机自启
[[email protected] php-5.6.27]# chkconfig --add php-fpm
[[email protected] php-5.6.27]# chkconfig php-fpm on
#提供php-fpm配置文件并进行简单优化:
[[email protected] php-5.6.27]# cp /usr/local/php5.6/etc/php-fpm.conf.default  /usr/local/php5.6/etc/php-fpm.conf
[[email protected] ~]# vim /usr/local/php5.6/etc/php-fpm.conf
修改内容如下:
pid = run/php-fpm.pid   #pid文件的位置
listen = 172.16.1.110:9000   #本机ip地址:端口
pm.max_children = 300   #php创建的最大子进程
pm.start_servers = 10     #启动时的子进程数量
pm.min_spare_servers = 10  #最小空闲子进程
pm.max_spare_servers =50   #最大空闲子进程
#启动php服务:
[[email protected] ~]# /etc/init.d/php-fpm start
Starting php-fpm  done
[[email protected] ~]# netstat -anput | grep 9000
tcp        0      0 172.16.1.110:9000       0.0.0.0:*               LISTEN      3220/php-fpm: maste 
#开启防火墙的9000端口:
[[email protected] ~]# firewall-cmd --add-port=9000/tcp --permanent
success
[[email protected] ~]# firewall-cmd --reload
success

3,配置nginx与php动态解析
#配置nginx配置文件:
[[email protected] ~]# vim /usr/local/nginx/conf/nginx.conf

 43         location / {
 44             root   html;
 45             index  index.html index.htm index.php #添加.php页面解析;
 46         }
 65         location ~ \.php$ {  #表示匹配到php文件就进行fastcgi操作
 66             root           /usr/local/nginx/html;  #用户请求的网页根目录
 67             fastcgi_pass   172.16.1.110:9000;   #指定解析php的ip地址+端口
 68             fastcgi_index  index.php;    #默认代理的.php动态页面
 69             fastcgi_param  SCRIPT_FILENAME    $document_root$fastcgi_script_name;  #php解析的根目录
 70             include        fastcgi_params;
 71         }

最后重启nginx服务使其生效。

#在php服务器上创建测试php测试文件:
[[email protected] ~]# mkdir -p /usr/local/nginx/html
[[email protected] ~]# cat /usr/local/nginx/html/test.php
<?php
phpinfo();
?>

#测试访问:

4,安装mysql
由于源码安装mysql过程太长,所以采用二进制进行安装。

#编写mysql一键安装脚本(并修改root密码):

[[email protected] ~]# cat mysql5.7.sh
#!/bin/bash
rpm -qa | grep mariadb  &> /dev/null
if [ $? -eq 0 ]
then
    rpm -e mariadb-libs --nodeps
fi
tar zxf  mysql-5.7.28-linux-glibc2.12-x86_64.tar.gz
mv mysql-5.7.28-linux-glibc2.12-x86_64 /usr/local/mysql
ln -s /usr/local/mysql/bin/* /usr/local/bin
groupadd -r mysql && useradd -r -g mysql -s /bin/false -M mysql
mkdir /usr/local/mysql/data
chown -R mysql:mysql /usr/local/mysql
cat > /etc/my.cnf <<EOF
[mysqld]
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
pid-file=/usr/local/mysql/data/mysqld.pid
log-error=/usr/local/mysql/data/mysql.err
socket=/tmp/mysql.sock
[client]
socket=/tmp/mysql.sock
EOF
mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
chown -R mysql:mysql /usr/local/mysql
cd /usr/local/mysql/
cp support-files/mysql.server /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld
chkconfig --add mysqld
chkconfig mysqld on
service mysqld start
mypwd=`grep password /usr/local/mysql/data/mysql.err | awk -F‘[email protected]: ‘ ‘{print $2}‘`
mysql -uroot -p${mypwd} -e ‘alter user [email protected] identified by"123.com"‘ --connect-expired-password

#执行脚本进行安装,并查看验证mysql登录:
注:确保源码包和脚本在当前/root目录下。

[[email protected] ~]# sh mysql5.7.sh
Starting MySQL.. SUCCESS!
mysql: [Warning] Using a password on the command line interface can be insecure.
[[email protected] ~]# netstat -anput | grep mysqld
tcp6       0      0 :::3306                 :::*                    LISTEN      15762/mysqld
#开启防火墙的3306端口:
[[email protected] ~]# firewall-cmd --add-port=3306/tcp --permanent
success
[[email protected] ~]# firewall-cmd --reload
success

二,安装配置memcache

1,安装memcached服务端

memcached 是基于 libevent 的事件处理。 libevent 是个程序库,它将 Linux 的 epoll、 BSD 类操作系统的 kqueue 等事件处理功能封装成统一的接口。memcached 使用这个 libevent 库,因此能在 Linux、 BSD、 Solaris 等操作系统上发挥其高性能。

1)首先安装memcached依赖库libevent:
[[email protected] ~]# tar zxf libevent-2.0.22-stable.tar.gz
[[email protected] ~]# cd libevent-2.0.22-stable
[[email protected] libevent-2.0.22-stable]# ./configure && make && make install
2)安装memcached:
[[email protected] ~]# tar zxf memcached-1.4.33.tar.gz
[[email protected] ~]# cd memcached-1.4.33
[[email protected] memcached-1.4.33]# ./configure --prefix=/usr/local/memcached --with-libevent=/usr/local && make && make install
#配置环境变量:
[[email protected] ~]# vim ~/.bash_profile
添加:
MEMCACHED_HOME=/usr/local/memcached
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$MEMCACHED_HOME/lib
[[email protected] ~]# source ~/.bash_profile
3)启动memcached:
[[email protected] ~]# ln -s /usr/local/memcached/bin/memcached  /usr/local/sbin/
[[email protected] ~]# memcached -d -m 2048 -l 172.16.1.130 -p 11211 -u root -c 102400 -P /usr/local/memcached/memcached.pid
启动参数说明:
-d  选项是启动一个守护进程
-m 分配给memcached使用的内存数量,单位是MB,默认是64MB
-l  监听的ip地址。(默认:INADDR_ANY,所有地址)
-p 设置memcache的TCP监听端口,最好是1024以上的端口
-u 运行memcache的用户,如果当前为root的话,需要使用此参数指定用户
-c 选项是最大运行的并发连接数,默认是1024
-P 设置保存memcache的pid文件
-h 显示帮助
[[email protected] ~]# netstat -anput | grep memcached
tcp        0      0 172.16.1.130:11211      0.0.0.0:*               LISTEN      22916/memcached    
#设置防火墙:
[[email protected] ~]# firewall-cmd --add-port=11211/tcp --permanent
success
[[email protected] ~]# firewall-cmd --reload
success

2,安装memcache客户端(通常安装在php服务器上)

memcach分为服务端和客户端。服务端用来存放缓存,客户端用来操作缓存。

1)安装memcache扩展库:
[[email protected] ~]# tar zxf memcache-3.0.8.tgz
[[email protected] ~]# cd memcache-3.0.8
[[email protected] memcache-3.0.8]# /usr/local/php5.6/bin/phpize
Configuring for:
PHP Api Version:         20131106
Zend Module Api No:      20131226
Zend Extension Api No:   220131226
Cannot find autoconf. Please check your autoconf installation and the
$PHP_AUTOCONF environment variable. Then, rerun this script.
#根据上面的报错提示安装autoconf依赖包:
[[email protected] memcache-3.0.8]# yum -y install autoconf
#配置成功
[[email protected] memcache-3.0.8]# /usr/local/php5.6/bin/phpize
Configuring for:
PHP Api Version:         20131106
Zend Module Api No:      20131226
Zend Extension Api No:   220131226
[[email protected] memcache-3.0.8]# ./configure --enable-memcache --with-php-config=/usr/local/php5.6/bin/php-config
[[email protected] memcache-3.0.8]# make && make install
#安装成功后,会有这样的提示:
Build complete.
Don‘t forget to run ‘make test‘.

Installing shared extensions:     /usr/local/php5.6/lib/php/extensions/no-debug-zts-20131226/
#安装成功,最后会显示memcache.so存放的路径。

#修改php.ini文件:
[[email protected] memcache-3.0.8]# vi /etc/php.ini
添加一行:
extension=/usr/local/php5.6/lib/php/extensions/no-debug-zts-20131226/memcache.so
#重启php服务并重新访问php页面:
[[email protected] ~]# /etc/init.d/php-fpm restart
Gracefully shutting down php-fpm . done
Starting php-fpm  done

#在php上创建测试代码,测试memcache客户端是否与服务端互相通信
[[email protected] ~]# cat /usr/local/nginx/html/test2.php
<?php
$memcache = new Memcache;
$memcache->connect(‘172.16.1.130‘, 11211) or die ("Could not connect");
$version = $memcache->getVersion();
echo "Server‘s version: ".$version."<br/>";
$tmp_object = new stdClass;
$tmp_object->str_attr = ‘test‘;
$tmp_object->int_attr = 123;
$memcache->set(‘key‘, $tmp_object, false, 10) or die ("Failed to save data at the server");
echo "Store data in the cache (data will expire in 10 seconds)<br/>";
$get_result = $memcache->get(‘key‘);
echo "Data from the cache:<br/>";
var_dump($get_result);
?>

#浏览器访问test2.php:

能够相互解析,memcache部署完毕。

三,使用memcache实现sessioin共享

#配置php.ini文件中的session共享:
[[email protected] ~]# vim /etc/php.ini

session.save_handler = memcache    #设置存储数据方式以memcache方式存储(默认是以文件方式存储)
#设置存储路径,通过tcp协议存储在memcache服务端上,多台memcache用逗号隔开
session.save_path = "tcp://172.16.1.130:11211?persistent=1&weight=1&timeout=1&retry_interval=15" 
参数解释:
persistent:持久连接数量
timeout=1:超时时间1秒钟
retry_interval=15:15秒检查一次memcached服务器
#重启php
[[email protected] ~]# /etc/init.d/php-fpm restart
Gracefully shutting down php-fpm . done
Starting php-fpm  done

#测试memcache可用性:

编辑测试页面:
[[email protected] ~]# cat /usr/local/nginx/html/memcache.php
<?php
session_start();
if (!isset($_SESSION[‘session_time‘]))
{
$_SESSION[‘session_time‘] = time();
}
echo "session_time:".$_SESSION[‘session_time‘]."<br />";
echo "now_time:".time()."<br />";
echo "session_id:".session_id()."<br />";
?>

#浏览器访问测试页面,可查看session_time是否都是为memcache中的Session,同时可以在不同的服务器上修改不同的标识查看是否为不同服务器上的(memcache集群)。

可以直接使用sessionid去memcached里查询一下:

[[email protected] ~]# yum -y install telnet
[[email protected] ~]# telnet 172.16.1.130 11211
Trying 172.16.1.130...
Connected to 172.16.1.130.
Escape character is ‘^]‘.
get eg7rqdegogu0196brj7d973f95   #通过get获得该session_id的信息
VALUE eg7rqdegogu0196brj7d973f95 0 26
session_time|i:1583519270;
END
#输入quit退出

得到的session_time和在memcache客户端的session_time是一致的,说明session正常工作。

#默认memcache会监听11211端口,如果想清空服务器上memcache的缓存,一般使用flush_all命令,操作如下:
[[email protected] ~]# telnet 172.16.1.130 11211
Trying 172.16.1.130...
Connected to 172.16.1.130.
Escape character is ‘^]‘.
flush_all
OK

注意:使用flush_all后并不是删除memcace上的key而是置为过期memcache安全配置。

四,memcache缓存数据库数据

1,在数据库中创建测试数据:

[[email protected] ~]# mysql -uroot -p123.com  #在本地登录mysql
 #创建用户并授权(只给予连接和查询的权限):
mysql> grant Usage,Select on *.* to [email protected]‘172.16.1.%‘ identified by ‘123.com‘;
Query OK, 0 rows affected, 1 warning (0.00 sec)
 #创建库:
mysql> create database testdb;
Query OK, 1 row affected (0.00 sec)
#创建表:
mysql> create table testdb.testtb (id int primary key auto_increment,
    -> name varchar(20) default null)
    -> engine=innodb default charset=utf8;
Query OK, 0 rows affected (0.28 sec)
#插入数据:
mysql> insert into testdb.testtb(name) values(‘tom1‘),(‘tom2‘),(‘tom3‘),(‘tom4‘),(‘tom5‘);
Query OK, 5 rows affected (0.02 sec)
Records: 5  Duplicates: 0  Warnings: 0

2,缓存测试
1)首先测试php能否与mysql沟通

[[email protected] ~]# cat  /usr/local/nginx/html/mysql.php
<?php
$link=mysql_connect(‘172.16.1.120‘,‘test‘,‘123.com‘);
if ($link)echo "connection mysql success......";
mysql_close();
?>

#浏览器测试访问:

2) 测试memcache是否缓存数据库的数据
#编写测试脚本,内容如下:

[[email protected] html]# cat test_db.php
<?php
$memcachehost = ‘172.16.1.130‘;
$memcacheport = 11211;
$memcachelife = 60;
$memcache = new Memcache;
$memcache->connect($memcachehost,$memcacheport) or die ("Could not connect");
$query="select * from testtb limit 10";
$key=md5($query);
if(!$memcache->get($key))
{
 $conn=mysql_connect("172.16.1.120","test","123.com");
 mysql_select_db(testdb);
 $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>";
echo "$key";
echo "<br>";
//print_r($data);
foreach($data as $a)
{
echo "number is <b><font color=#FF0000>$a[id]</font></b>";
echo "<br>";
echo "name is <b><font color=#FF0000>$a[name]</font></b>";
echo "<br>";
}
?>

访问页面测试
#第一次访问:

显示的是mysql表示memcached中没有内容,需要memcached从数据中取得。

#第二次访问:(刷新页面)

显示的是memcache标志,表示这次的数据是从memcached中取得的。

注意:memcached有个缓存时间默认是1分钟,过了一分钟后,memcached需要重新从数据库中取得数据。

#查看memcached缓存情况:
#使用telnet命令查看:

[[email protected] ~]# telnet 172.16.1.130 11211
Trying 172.16.1.130...
Connected to 172.16.1.130.
Escape character is ‘^]‘.
stats   #输入命令stats
STAT pid 22916     //memcached 进程的id
STAT uptime 9530  //进程运行时间
STAT time 1583492752  //当前时间
STAT version 1.4.33       //memcached版本
STAT libevent 2.0.22-stable
STAT pointer_size 64
STAT rusage_user 0.758872
STAT rusage_system 1.264787
STAT curr_connections 6
STAT total_connections 19
STAT connection_structures 7
STAT reserved_fds 20
STAT cmd_get 16   //总共获取数据的次数(等于get_hits+get_misses)
STAT cmd_set 7   //总共设置数据的次数
STAT cmd_flush 1
STAT cmd_touch 0
STAT get_hits 12   //命中了多少次数据(也就是从memcached缓存中成功获取数据的次数),命中率= get_hits/ cmd_get
STAT get_misses 4    //没有命中的次数
STAT get_expired 2
STAT get_flushed 0
STAT delete_misses 0
STAT delete_hits 0
STAT incr_misses 1
STAT incr_hits 0
STAT decr_misses 0
STAT decr_hits 0
STAT cas_misses 0
STAT cas_hits 0
STAT cas_badval 0
STAT touch_hits 0
STAT touch_misses 0
STAT auth_cmds 0
STAT auth_errors 0
STAT bytes_read 1864
STAT bytes_written 3392
STAT limit_maxbytes 2147483648   //总的存储大小,默认为为64M
STAT accepting_conns 1
STAT listen_disabled_num 0
STAT time_in_listen_disabled_us 0
STAT threads 4
STAT conn_yields 0
STAT hash_power_level 16
STAT hash_bytes 524288
STAT hash_is_expanding 0
STAT malloc_fails 0
STAT log_worker_dropped 0
STAT log_worker_written 0
STAT log_watcher_skipped 0
STAT log_watcher_sent 0
STAT bytes 702   //当前所用存储大小
STAT curr_items 4
STAT total_items 7
STAT expired_unfetched 0
STAT evicted_unfetched 0
STAT evictions 0
STAT reclaimed 0
STAT crawler_reclaimed 0
STAT crawler_items_checked 0
STAT lrutail_reflocked 0
END

安装包已上传至百度网盘:链接:https://pan.baidu.com/s/1QcGj2Lj5hSZdxw_MuKTBoA
提取码:sph3

原文地址:https://blog.51cto.com/13972012/2476064

时间: 2024-10-07 15:31:35

memcache缓存服务器(安装-配置-测试篇)的相关文章

Memcache缓存服务器(Nginx+php+Memcache+MySQL)

一.MemCache简介: MemCache是一个自由.源码开放.高性能.分布式的分布式内存对象缓存系统,用于动态Web应用以减轻数据库的负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高了网站访问的速度.MemCaChe是一个存储键值对的HashMap,在内存中对任意的数据(比如字符串.对象等)所使用的key-value存储,数据可以来自数据库调用.API调用,或者页面渲染的结果.MemCache设计理念就是小而强大,它简单的设计促进了快速部署.易于开发并解决面对大规模的数据缓

Linux之搭建memcache缓存服务器(二)

Linux之搭建memcache缓存服务器(nginx+php+memcache+mysql) 二.centos7.2+nginx+php+memcache+mysql 环境描述: OS: [[email protected] ~]# cat /etc/redhat-release CentOS Linux release 7.2.1511 (Core) nginx和php: nginx-1.10.2.tar.gz php-5.6.27.tar.gz ip地址:192.168.31.141/24

LNMP动静分离&amp;&amp;memcache缓存服务器

博文大纲:一.MemCache简介 1.协议 2.事件处理 3.存储方式 4.通信分布式 5.memcached的应用场景 6.memcached应用中的工作流程 7.memcached的一致性Hash算法二.部署LNMP动静分离&&memcache缓存服务器 1.环境准备 2.部署Nginx服务器 3.部署PHP服务器 4.部署MySQL数据库 5.部署Memcached服务器 6.部署memcache客户端 7.使用 memcache 实现 session 共享 8.测试memcach

部署LNMP动静分离并搭建memcache缓存服务器

一.MemCache简介MemCache 是一个自由.源码开放.高性能.分布式的分布式内存对象缓存系统,用于动态Web应用以减轻数据库的负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高了网站访问的速度. MemCaChe 是一个存储键值对的 HashMap,在内存中对任意的数据(比如字符串.对象等)所使用的 key-value 存储,数据可以来自数据库调用.API调用,或者页面渲染的结果.MemCache 设计理念就是小而强大,它简单的设计促进了快速部署.易于开发并解决面对大规

Linux之搭建memcache缓存服务器

Linux之搭建memcache缓存服务器(一) 一.MemCache简 session MemCache是一个自由.源码开放.高性能.分布式的分布式内存对象缓存系统,用于动态Web应用以减轻数据库的负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高了网站访问的速度. MemCaChe是一个存储键值对的HashMap,在内存中对任意的数据(比如字符串.对象等)所使用的key-value存储,数据可以来自数据库调用.API调用,或者页面渲染的结果.MemCache设计理念就是小而强

memcached基于socket访问memcache缓存服务器

memcached基于socket访问memcache缓存服务器 操作memcache常用三种方法: 1.memcache基于php_memcache.dll扩展(php扩展) 2.memcached基于php_memcached.dll扩展(php扩展) 3.memcached基于socket访问(基于网络) memcached-client.php 调用很简单,调用方法如下: <?php header("content-type:text/html; charset=utf-8&quo

memcache缓存服务器概念篇

1,memcache简介 mamcache是一套分布式的高速缓存系统,可以提高网站访问的速度,尤其是对于一些大型的公司或者频繁访问数据库的网站访问速度提升效果十分显著,memcache是一个开源免费的软件,memcache通过键值对的访问将数据缓存在内存当中,减少从后端数据读取数据的次数. 2,memcache分布式缓存系统 分布式:将数据分散存储在不同服务器上.缓存系统:严格意义上来说,memcache不是一个nosql数据库,只是提供内存缓存功能系统,那怎么理解别人来说memcache是一个

图文并茂超详细搭建memcache缓存服务器(nginx+php+memcache+mysql)

博主QQ:819594300 博客地址:http://zpf666.blog.51cto.com/ 有什么疑问的朋友可以联系博主,博主会帮你们解答,谢谢支持! 一.MemCache简述 session MemCache是一个自由.源码开放.高性能.分布式的分布式内存对象缓存系统,用于动态Web应用以减轻数据库的负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高了网站访问的速度. MemCaChe是一个存储键值对的HashMap,在内存中对任意的数据(比如字符串.对象等)所使用的k

memcache缓存服务器(nginx php memcache mysql)

环境: 192.168.1.23  nginx+php 192.168.1.28  memcache 192.168.1.27  mysql 一.安装 nginx (192.168.1.23) 1.解压 zlib 和pcre 不需要编译,只需要解压就行. [[email protected] ~]# tar zxf zlib-1.2.8.tar.gz [[email protected] ~]# tar zxf pcre-8.39.tar.gz 2.安装依赖包 [[email protected