`

Centos安装Memcache

阅读更多

官方

Memcache是一个高性能的分布式的内存对象缓存系统,通过在内存里维护一个统一的巨大的hash表,它能够用来存储各种格式的数据.简单的说就是将数据调用到内存中,然后从内存中读取,从而大大提高读取速度。

+个人理解

1.它是基于C语言的Libevent库进行开发的
2.Memcache是一款C/S软件,这款软件是维护内存的.
3.是将数据在内存中使用,从内存中读取要比从硬盘中读取要快.
4.读取内存会减少对I/O设备的调用,从而加大访问速度.
5.内存是一个高速临时存储信息的硬件,断电后里面的信息将被清除.
6.硬盘是一个低速长期存储信息的硬件,断电后里面的信息将被保留.



守护进程

Memcache Defend(守护)

Memcached是以守护程序方式运行一个或多个服务器中,随时会接收客户端的连接和操作.



 

Memcache安装


操作系统  : Mac Os X
虚拟机     : VritualBox


1.编译安装Libevent

cd ~

curl -O http://www.monkey.org/~provos/libevent-2.0.13-stable.tar.gz

tar -zxvf libevent-2.0.13-stable.tar.gz

cd libevent-2.0.13-stable-tar.gz

./configure --prefix=/usr

make ; make install


检测一下查看是否安装:

ls -al /usr/lib | grep libevent

#显示

libevent.so -> libevent-2.0.so.5.1.2



2.安装Memcache

cd ~

curl -O http://www.danga.com/memcached/dist/memcached-1.4.0.tar.gz

tar -zxvf memcached-1.4.0.tar.gz

cd memcached-1.4.0.tar.gz

./configure --with-libevent=/usr/

make ; make install


检测是否成功安装

ls -al /usr/local/bin/mem*

#显示
/usr/local/bin/memcached



开启Memcached守护进程

memcached -d -u root

#无提证明开启成功

#连接参数

-p 监听端口

-l 连接的IP地址,默认是本机

-d start启动memecache服务

-d restart重启

-d stop|shutdown关闭服务

-d install 安装

-d uninstall 卸载

-u 以身份运行仅在root下有效

-m 最大内存使用,单位MB,默认64MB,最大2G

-M 内存耗尽时返回错误

-c 最大同时连接数量,默认是1024

-f 块大小增长因为,默认是1.25

-n 最小分配空间,key+value+flags默认48

-h 显示帮助

#使用telnet连接


telnet localhost 11211

#直接按回车会出现客户端错误.



#查看当前状态命令

stats

 

 

stats参数参考

STAT pid 22459                             进程ID
STAT uptime 1027046                        服务器运行秒数
STAT time 1273043062                       服务器当前unix时间戳
STAT version 1.4.4                         服务器版本
STAT pointer_size 64                       操作系统字大小(这台服务器是64位的)
STAT rusage_user 0.040000                  进程累计用户时间
STAT rusage_system 0.260000                进程累计系统时间
STAT curr_connections 10                   当前打开连接数
STAT total_connections 82                  曾打开的连接总数
STAT connection_structures 13              服务器分配的连接结构数
STAT cmd_get 54                            执行get命令总数
STAT cmd_set 34                            执行set命令总数
STAT cmd_flush 3                           指向flush_all命令总数
STAT get_hits 9                            get命中次数
STAT get_misses 45                         get未命中次数
STAT delete_misses 5                       delete未命中次数
STAT delete_hits 1                         delete命中次数
STAT incr_misses 0                         incr未命中次数
STAT incr_hits 0                           incr命中次数
STAT decr_misses 0                         decr未命中次数
STAT decr_hits 0                           decr命中次数
STAT cas_misses 0                          cas未命中次数
STAT cas_hits 0                            cas命中次数
STAT cas_badval 0                          使用擦拭次数
STAT auth_cmds 0
STAT auth_errors 0
STAT bytes_read 15785                      读取字节总数
STAT bytes_written 15222                   写入字节总数
STAT limit_maxbytes 1048576                分配的内存数(字节)
STAT accepting_conns 1                     目前接受的链接数
STAT listen_disabled_num 0                 
STAT threads 4                             线程数
STAT conn_yields 0
STAT bytes 0                               存储item字节数
STAT curr_items 0                          item个数
STAT total_items 34                        item总数
STAT evictions 0                           为获取空间删除item的总数


===================================================

 

4,安装memcache的PHP扩展(下载源码包、编译、安装、配置):

[root@youxia205 opt]# wget http://pecl.php.net/get/memcache-2.2.5.tgz

[root@youxia205 opt]# tar -zxvf memcache-2.2.5.tgz

[root@youxia205 opt]# cd memcache-2.2.5

[root@youxia205 memcache-2.2.5]# /usr/local/php/bin/phpize

Configuring for:

PHP Api Version:         20041225

Zend Module Api No:      20060613

Zend Extension Api No:   220060519

[root@youxia205 memcache-2.2.5]# ./configure --enable-memcache -with-php-config=/usr/local/php/bin/php-config --with-zlib-dir

[root@youxia205 memcache-2.2.5]# make

[root@youxia205 memcache-2.2.5]# make install

Installing shared extensions:     /usr/local/php/lib/php/extensions/no-debug-zts-20060613/

 

[root@youxia205 memcache-2.2.5]# vi /usr/local/php/etc/php.ini

extension=memcache.so

四,测试memcache:

1,在网站目录下建立一个测试文件,名称为memtest.php,具体如下:

[root@youxia205 ~]# cd  /usr/local/apache2/htdocs

[root@youxia205 htdocs]# vi memtest.php

<?php


$memcachehost = '192.168.0.205';

$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("localhost","root","user");

                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);        //mysql 查询后,插入 memcached

                $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>";

 

}

?>

2,执行测试:

#执行的时候报错

Fatal error: Class 'Memcache' not found in /usr/local/apache2/htdocs/memtest.php on line 5

#解决方法如下:

[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

vi /usr/local/php/etc/php.ini

extension_dir = "./"

extension_dir = "/usr/local/php/lib/php/extensions/no-debug-zts-20060613"

再次执行:

 

查看数据库中正在执行的语句,没有发现对mydb库执行查询的线程,说明PHP直接从memcache中提取的数据:

mysql> show processlist;

+-----+----------+-----------------+-------+---------+------+-------+------------------+

| Id  | User     | Host            | db    | Command | Time | State | Info             |

+-----+----------+-----------------+-------+---------+------+-------+------------------+

| 697 | prog     | localhost:44175      | word | Sleep   |   23 |       | NULL             |

| 698 | prog     | localhost:44176       | word | Sleep   |   23 |       | NULL             |

| 744 | user   | localhost              | mydb  | Sleep   | 3443 |       | NULL             |

| 747 | user   | localhost              | NULL  | Query   |    0 | NULL  | show processlist |

+-----+----------+-----------------+-------+---------+------+-------+------------------+

4 rows in set (0.00 sec)


本篇文章来源于 Linux公社网站  原文链接:http://www.linuxidc.com/Linux/2010-08/28206p4.htm

分享到:
评论

相关推荐

    CentOS 安装 Memcache 服务器. java 做客户端.

    本主题将探讨如何在CentOS操作系统上安装Memcache服务器,并利用Java作为客户端与之交互。以下是详细的步骤和相关知识点。 首先,我们需要在CentOS上安装Memcache服务器。这通常涉及以下几个步骤: 1. **更新系统*...

    centos下自动安装Memcache、Redis服务端以及PHP扩展

    该脚本基于阿里云服务器安装脚本,并只能运用于centos / aliyun os(因为内部使用了yum安装unzip和dos2unix),该脚本使用时,需要与阿里云安装脚本的install.sh放在同一目录下。有缘人切忌乱用

    CentOS 安装配置memcached

    CentOS 安装配置 Memcached 在本文中,我们将详细介绍如何在 CentOS 系统上安装和配置 Memcached。Memcached 是一个高性能的分布式内存对象缓存系统,广泛应用于各种 web 应用程序中,以提高应用程序的性能和响应...

    Linux安装Memcache

    【Linux安装Memcache】 Memcache是一款高性能的分布式内存对象缓存系统,常被用来缓解数据库负载,提升Web应用性能。本文将详细介绍如何在Linux环境下安装和配置Memcache服务器端及PHP扩展。 首先,确保你的系统...

    CenOS下安装Memcache和PHP Memcache扩展.

    这篇教程将详细介绍如何在CentOS上安装Memcache及其PHP Memcache扩展。 首先,确保你的系统是最新的,运行以下命令更新系统: ```bash sudo yum update -y ``` 接下来,安装必要的编译工具和依赖库,这将为后续的...

    centos傻瓜式安装nginx+php+mysql+memcache+mongodb

    Memcache安装 Memcache是一种高速缓存系统,常用于提高Web应用程序的性能。安装Memcache需要先安装依赖库libevent和libevent-devel。使用以下命令安装依赖库: ``` yum -y install libevent libevent-devel ``` ...

    在CentOS 5.3上安装Memcached服务及相应的PHP扩展memcache

    在这个教程中,我们将详细介绍如何在CentOS 5.3上安装Memcached服务以及相关的PHP扩展`memcache`。 Memcached是一个高性能、分布式内存对象缓存系统,它被广泛用于减轻数据库负载,提高网站的响应速度。而PHP的`...

    memcache的配置及使用——memcache及其客户端telnet

    除了telnet,还有许多编程语言的客户端库,如PHP的`memcache`和`memcached`扩展,Python的`pylibmc`,Java的`spymemcached`等。这些库提供了更方便的API来操作Memcached,如`set`、`get`、`delete`方法,并支持序列...

    centos 安装HTTP

    在Linux CentOS系统中安装HTTP...这样,你就完成了在Linux CentOS系统上安装HTTP服务器(Apache)、PHP、Oracle Instant Client、MySQL和Memcache的基本步骤。注意,实际操作时应根据系统环境和需求调整具体配置。

    CentOS 5 全功能WWW服务器搭建全教程

    - **缓存服务**: 安装`memcache`来提高网站的访问速度。 - **代理缓存**: 安装`Squid`作为HTTP代理缓存服务器。 - **安全模块**: 安装`mod_security`来增加Web应用的安全性。 - **论坛系统**: 安装`vBulletin`作为...

    LAMP centos安装流程

    ### LAMP环境在CentOS 6/6.5 64位系统上的安装流程 #### 环境准备与依赖安装 本指南旨在详细介绍如何在CentOS 6/6.5 64位操作系统上安装LAMP(Linux、Apache、MySQL、PHP)环境。LAMP是一种流行的开源Web开发平台...

    centos6.5安装LNMP服务器教程

    ### CentOS 6.5 安装LNMP服务器教程 #### 一、概述 本文将详细介绍如何在CentOS 6.5上安装LNMP(Linux+Nginx+MySQL+PHP)服务器环境。LNMP架构是一种非常流行的Web服务器组合,它不仅性能高效而且配置灵活,非常...

    CentOS 5.4下的Memcache安装步骤(Linux+Nginx+PHP+Memcached)

    本文将详细介绍如何在 CentOS 5.4 上安装 Memcache 并配置相关组件。 #### 一、源码包准备 首先,我们需要下载以下三个主要的软件包: 1. **Memcached 服务端** - 最新版本 memcached-v1.4.4。 - [下载地址]...

    memcache简介、安装 and in cakephp

    2. **安装库**:通过包管理器(如apt-get for Ubuntu或yum for CentOS)安装libevent库,因为Memcache依赖于它。 ``` sudo apt-get install libevent-dev ``` 3. **下载并编译Memcache**:从Memcache的官方...

    linux MemCache 安装手册

    Linux MemCache 安装手册 Memcached是一款高性能、分布式内存对象缓存系统,它被广泛应用于Web应用中,用于减轻数据库的负载,提高数据访问速度。这个安装手册将引导你完成在Linux环境下安装和配置Memcached的过程...

    LNMP+Memcache

    CentOS Minimal LNMP + Memcache 编译安装过程 CentOS Minimal LNMP + Memcache 编译安装过程

    linux下安装memcache

    对于使用Yum的系统(例如CentOS或Fedora),使用以下命令: ```bash sudo yum update sudo yum install gcc libevent-devel ``` 接下来,从Memcached的官方网站下载最新源代码。通常,你可以通过访问...

    linux环境memcache详细安装步骤(含memcache软件包)

    以下是一份详细的Linux环境下Memcached的安装步骤,包括所需软件包的获取和配置。 1. **系统准备**: - 首先,确保你的Linux发行版是基于Debian或Red Hat的,因为这些系统的包管理器支持Memcached。 - 更新系统包...

    memcache集群安装

    在CentOS/RHEL系统中,使用`yum`进行安装: ```bash sudo yum install epel-release sudo yum install memcached ``` ### 3. 配置memcache 默认情况下,memcache会监听127.0.0.1上的11211端口。为了实现集群,...

Global site tag (gtag.js) - Google Analytics