- 浏览: 609986 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
kangh:
转载的也拿出来 都不试一下 完全错误
Nginx+ffmpeg的HLS开源服务器搭建配置及开发详解 -
wangtxlz:
#cd builders/cmake#cmake .系统提示命 ...
crtmpserver流媒体服务器的介绍与搭建 -
hnraysir:
支持支持支持
手机Android音视频采集与直播推送,实现单兵、移动监控类应用 -
wuent:
把web服务器和php框架绑定到一起?真不建议这样。。。
Swoole(PHP高级Web开发框架) -
wuent:
有更详细的性能比较吗?php,python,java
PHP中的(伪)多线程与多进程
官方
Memcache是一个高性能的分布式的内存对象缓存系统,通过在内存里维护一个统一的巨大的hash表,它能够用来存储各种格式的数据.简单的说就是将数据调用到内存中,然后从内存中读取,从而大大提高读取速度。
+个人理解
1.它是基于C语言的Libevent库进行开发的
2.Memcache是一款C/S软件,这款软件是维护内存的.
3.是将数据在内存中使用,从内存中读取要比从硬盘中读取要快.
4.读取内存会减少对I/O设备的调用,从而加大访问速度.
5.内存是一个高速临时存储信息的硬件,断电后里面的信息将被清除.
6.硬盘是一个低速长期存储信息的硬件,断电后里面的信息将被保留.
守护进程
Memcache Defend(守护)
Memcached是以守护程序方式运行一个或多个服务器中,随时会接收客户端的连接和操作.
Memcache安装
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 $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)
===================================================
$memcachehost = '192.168.0.205';
本篇文章来源于 Linux公社网站 原文链接:http://www.linuxidc.com/Linux/2010-08/28206p4.htm
发表评论
-
select、poll、epoll之间的区别总结
2015-04-02 11:49 0select,poll,epoll都是IO多路复用的机制。I ... -
TCP状态转移图学习总结 (转)
2015-04-02 11:37 0TCP状态转移图学习总结 (转) 这是网络编程的基础,t ... -
(原)CentOS Linux 下安装Samba
2015-01-21 10:18 0一、Samba简介 samba ... -
Java 通过JNI调用C或者CPP代码
2014-10-22 18:20 1225网上搜罗到一个JNI的例子,不错。用cygwin的环境搞了下 ... -
CentOS配置mencoder和ffmpeg flv视频转码总结
2013-11-15 22:04 12031、安装yum的fpmforge源 rpm - ... -
用ffmpeg打造linux转码服务器
2013-11-15 21:54 1391linux在系统资源利用上确实要比windows强很多,所以 ... -
Linux下文件的三种时间标记:访问时间、修改时间、状态改动时间
2012-11-16 16:01 1373在windows下,一个文件有:创建时间、修改时间、访问 ... -
常用awk命令(转)
2012-11-16 13:54 985awk 用法:awk ' pattern {action ... -
php写后端运行程序总结
2012-03-21 23:44 20451、定时执行 就crontab了,li ... -
PHP调用Linux系统的常用函数
2012-03-14 00:10 0PHP调用Linux系统的常用函数 1、exec函数 ... -
删除Linux环境中的默认JDK安装版本
2012-02-29 19:23 1867下面以Fedora8为例: [root@fc8 bin ... -
linux tr命令详解
2012-02-28 22:06 1273通过使用 tr,您可以非常容易地实现 sed 的许多最 ... -
Linux2.2 修改LinuxThreads线程限制
2012-02-26 23:02 1842This document describes how to ... -
cannot restore segment prot after reloc错误的解决方法
2012-02-21 01:33 1655最近用到gearman。由于C语言的server一直编译不过去 ... -
Linux(CentOS)下更改/转移MySQL数据库目录
2012-02-19 00:16 1077由于MySQL的 ... -
centos安装中文支持
2012-02-15 16:39 3560默认安装为英文的 现在想设置成中文yumgroupinstal ... -
安装及配置eaccelerator-0.9.5加速PHP-5.2.1
2012-02-11 09:37 1207操作系统:Linux ... -
Linux EXT3文件系统下成功恢复误删的mysl数据库
2012-02-09 12:18 1382环境:CentOS 5.3 x86_64下,/dev/sd ... -
Nginx 0.8.x + PHP 5.2.13(FastCGI)搭建胜过Apache十倍的Web服务器[转载]
2012-02-09 12:18 1314[文章作者:张宴 本文版本:v6.3 最后修改:2010. ... -
Centos 开起自动启动设置
2012-02-06 09:08 1456CentOS下添加程序到服务并且设置服务自动启动的两种方法 ...
相关推荐
本主题将探讨如何在CentOS操作系统上安装Memcache服务器,并利用Java作为客户端与之交互。以下是详细的步骤和相关知识点。 首先,我们需要在CentOS上安装Memcache服务器。这通常涉及以下几个步骤: 1. **更新系统*...
该脚本基于阿里云服务器安装脚本,并只能运用于centos / aliyun os(因为内部使用了yum安装unzip和dos2unix),该脚本使用时,需要与阿里云安装脚本的install.sh放在同一目录下。有缘人切忌乱用
CentOS 安装配置 Memcached 在本文中,我们将详细介绍如何在 CentOS 系统上安装和配置 Memcached。Memcached 是一个高性能的分布式内存对象缓存系统,广泛应用于各种 web 应用程序中,以提高应用程序的性能和响应...
【Linux安装Memcache】 Memcache是一款高性能的分布式内存对象缓存系统,常被用来缓解数据库负载,提升Web应用性能。本文将详细介绍如何在Linux环境下安装和配置Memcache服务器端及PHP扩展。 首先,确保你的系统...
这篇教程将详细介绍如何在CentOS上安装Memcache及其PHP Memcache扩展。 首先,确保你的系统是最新的,运行以下命令更新系统: ```bash sudo yum update -y ``` 接下来,安装必要的编译工具和依赖库,这将为后续的...
Memcache安装 Memcache是一种高速缓存系统,常用于提高Web应用程序的性能。安装Memcache需要先安装依赖库libevent和libevent-devel。使用以下命令安装依赖库: ``` yum -y install libevent libevent-devel ``` ...
在这个教程中,我们将详细介绍如何在CentOS 5.3上安装Memcached服务以及相关的PHP扩展`memcache`。 Memcached是一个高性能、分布式内存对象缓存系统,它被广泛用于减轻数据库负载,提高网站的响应速度。而PHP的`...
除了telnet,还有许多编程语言的客户端库,如PHP的`memcache`和`memcached`扩展,Python的`pylibmc`,Java的`spymemcached`等。这些库提供了更方便的API来操作Memcached,如`set`、`get`、`delete`方法,并支持序列...
在Linux CentOS系统中安装HTTP...这样,你就完成了在Linux CentOS系统上安装HTTP服务器(Apache)、PHP、Oracle Instant Client、MySQL和Memcache的基本步骤。注意,实际操作时应根据系统环境和需求调整具体配置。
- **缓存服务**: 安装`memcache`来提高网站的访问速度。 - **代理缓存**: 安装`Squid`作为HTTP代理缓存服务器。 - **安全模块**: 安装`mod_security`来增加Web应用的安全性。 - **论坛系统**: 安装`vBulletin`作为...
### LAMP环境在CentOS 6/6.5 64位系统上的安装流程 #### 环境准备与依赖安装 本指南旨在详细介绍如何在CentOS 6/6.5 64位操作系统上安装LAMP(Linux、Apache、MySQL、PHP)环境。LAMP是一种流行的开源Web开发平台...
### CentOS 6.5 安装LNMP服务器教程 #### 一、概述 本文将详细介绍如何在CentOS 6.5上安装LNMP(Linux+Nginx+MySQL+PHP)服务器环境。LNMP架构是一种非常流行的Web服务器组合,它不仅性能高效而且配置灵活,非常...
本文将详细介绍如何在 CentOS 5.4 上安装 Memcache 并配置相关组件。 #### 一、源码包准备 首先,我们需要下载以下三个主要的软件包: 1. **Memcached 服务端** - 最新版本 memcached-v1.4.4。 - [下载地址]...
2. **安装库**:通过包管理器(如apt-get for Ubuntu或yum for CentOS)安装libevent库,因为Memcache依赖于它。 ``` sudo apt-get install libevent-dev ``` 3. **下载并编译Memcache**:从Memcache的官方...
Linux MemCache 安装手册 Memcached是一款高性能、分布式内存对象缓存系统,它被广泛应用于Web应用中,用于减轻数据库的负载,提高数据访问速度。这个安装手册将引导你完成在Linux环境下安装和配置Memcached的过程...
CentOS Minimal LNMP + Memcache 编译安装过程 CentOS Minimal LNMP + Memcache 编译安装过程
对于使用Yum的系统(例如CentOS或Fedora),使用以下命令: ```bash sudo yum update sudo yum install gcc libevent-devel ``` 接下来,从Memcached的官方网站下载最新源代码。通常,你可以通过访问...
以下是一份详细的Linux环境下Memcached的安装步骤,包括所需软件包的获取和配置。 1. **系统准备**: - 首先,确保你的Linux发行版是基于Debian或Red Hat的,因为这些系统的包管理器支持Memcached。 - 更新系统包...
在CentOS/RHEL系统中,使用`yum`进行安装: ```bash sudo yum install epel-release sudo yum install memcached ``` ### 3. 配置memcache 默认情况下,memcache会监听127.0.0.1上的11211端口。为了实现集群,...