当前位置: 首页 > 编程日记 > 正文

php win memcached 5.4,CentOS 5.4下Memcache的安装步骤(Linux+Nginx+PHP+Memcached) 电脑维修技术网...

一、源码包准备

服务器端主要是安装memcache服务器端,目前的最新版本是 memcached-v1.4.4 。

下载:http://memcached.googlecode.com/files/memcached-1.4.4.tar.gz

另外,Memcache用到了libevent这个库用于Socket的处理,所以还需要安装libevent,

Linux指令下载:

复制代码 代码如下:

wget http://memcached.googlecode.com/files/memcached-1.4.4.tar.gz

wget http://www.monkey.org/~provos/libevent-1.4.13-stable.tar.gz

wget http://pecl.php.net/get/memcache-2.2.5.tgz

二、安装与配置

1、先安装libevent

复制代码 代码如下:

tar zxvf libevent-1.4.13-stable.tar.gz

cd libevent-1.4.13-stable

./configure --prefix=/usr

make

make install

2、测试libevent是否安装成功

复制代码 代码如下:

ls -al /usr/lib | grep libevent

libevent-1.1a.so.1

libevent-1.1a.so.1.0.2

libevent-1.4.so.2

libevent-1.4.so.2.1.3

libevent.a

libevent_core-1.4.so.2

libevent_core-1.4.so.2.1.3

libevent_core.a

libevent_core.la

libevent_core.so

libevent_extra-1.4.so.2

libevent_extra-1.4.so.2.1.3

libevent_extra.a

libevent_extra.la

libevent_extra.so

libevent.la

libevent.so

版本不同,可能文件列表不同。

3、安装memcached,同时需要安装中指定libevent的安装位置

复制代码 代码如下:

tar zxvf memcached-1.4.4.tar.gz

cd memcached-1.4.4

./configure –with-libevent=/usr

make && make install

安装完成后会把memcached 自动放到 /usr/local/bin/memcached

4、测试是否成功安装memcached

复制代码 代码如下:

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

-rwxr-xr-x 1 root root 201869 12-14 21:44 /usr/local/bin/memcached

5、安装Memcache的PHP扩展

①安装PHP的memcache扩展

复制代码 代码如下:

tar vxzf memcache-2.2.5.tgz

cd memcache-2.2.5

/usr/local/webserver/php/bin/phpize

./configure --enable-memcache --with-php-config=/usr/local/php/bin/php-config --with-zlib-dir

make

make install

②上述安装完后会有类似这样的提示:

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

③把php.ini中的extension_dir = “./”修改为

复制代码 代码如下:

extension_dir = “/usr/local/php/lib/php/extensions/no-debug-non-zts-2007xxxx/”

④添加一行来载入memcache扩展:extension=memcache.so

三、memcached的基本设置

1.启动Memcache的服务器端:

复制代码 代码如下:

memcached -d -m 10 -u root -l 202.207.177.177 -p 11211 -c 256 -P /tmp/memcached.pid

参数说明:

-d选项是启动一个守护进程,

-m是分配给Memcache使用的内存数量,单位是MB,我这里是10MB,

-u是运行Memcache的用户,我这里是root,

-l是监听的服务器IP地址,如果有多个地址的话,我这里指定了服务器的IP地址202.207.177.177,

-p是设置Memcache监听的端口,我这里设置了11211,最好是1024以上的端口,

-c选项是最大运行的并发连接数,默认是1024,我这里设置了256,按照你服务器的负载量来设定,

-P是设置保存Memcache的pid文件,我这里是保存在 /tmp/memcached.pid,

2.如果要结束Memcache进程,执行:

复制代码 代码如下:

kill `cat /tmp/memcached.pid`

也可以启动多个守护进程,不过端口不能重复。

3.检查Memcached是否启动

复制代码 代码如下:

netstat -ant

tcp 0 0 202.207.177.177:11211 0.0.0.0:* LIST

11211端口已经打开,说明Memcached已正常启动。

4.重启CentOS

复制代码 代码如下:

reboot

四、Memcache环境测试

运行下面的php文件,如果有输出This is a test!,就表示环境搭建成功。开始你的Memcache的征途吧!

复制代码 代码如下:

$mem = new Memcache;

$mem->connect("202.207.177.177", 11211);

$mem->set('key', 'This is a test!', 0, 60);

$val = $mem->get('key');

echo $val;

?>

著名的PHPCMS同样支持Memcached扩展:

复制代码 代码如下:

//MemCache服务器配置

//define('MEMCACHE_HOST', 'localhost'); //MemCache服务器主机

//define('MEMCACHE_PORT', 11211); //MemCache服务器端口

//define('MEMCACHE_TIMEOUT', 1); //S,MemCache服务器连接超时

class cache

{

var $memcache;

function __construct()

{

$this->memcache = &new Memcache;

$this->memcache->pconnect(MEMCACHE_HOST, MEMCACHE_PORT, MEMCACHE_TIMEOUT);

}

function cache()

{

$this->__construct();

}

function get($name)

{

return $this->memcache->get($name);

}

function set($name, $value, $ttl = 0)

{

return $this->memcache->set($name, $value, 0, $ttl);

}

function rm($name)

{

return $this->memcache->delete($name);

}

function clear()

{

return $this->memcache->flush();

}

}

?>

相关文章:

LomoX 桌面UI框架更新,增加资源管理

修改: 1.增加lxoption工具类,提供启动的兼容,兼容旧版的,并支持注册资源启动 (蔡东赟)兼容启动项目:main.lx //资源包默认现在用 qrc:/pack/main.html 后面评估,或者等编辑器出来mai…

Python 数据类型:列表

一、列表介绍 1. 列表可以存储一系列的值,使用中括号来定义,每个元素之间用逗号隔开,形如 [a, b, c, d]2. 列表与元组的区别是:列表中的元素是可变的,元组中的元素是不可变的 In [1]: list1 [] # 定义一个空列…

贪心:remove K digits移除K个数字

问题描述: 已知一个使用字符串表示的非负整数num,将num中的k个数字移 除,求移除k个数字后,可以获得的最小的可能的新数字。 例如:num “1432219” , k 3 在去掉3个数字后得到的很多很多可能里,如1432、43…

oracle 分组排序 update,oracle分组排序

oracle 分组排序&#xff1a;这个麻烦&#xff1a;SELECT * FROM (SELECT deptno,ename,sal,ROW_NUMBER() OVER (PARTITION BY deptno ORDER BY sal DESC ) Top3 FROM emp)WHERE Top3 < 3开窗函数也ok&#xff1a;代码简单点&#xff1a;where 11 and status2JOIN( select p…

QLocalServer与QLocalSocket进程通讯

在Qt中&#xff0c;提供了多种IPC方法&#xff0c;作者所用的是QLocalServer和QLocalSocket。看起来好像和Socket搭上点边&#xff0c;实则底层是windows的name pipe。这应该是支持双工通信的。一 QLocalServer#ifndef VXMAINWINDOW_H#define VXMAINWINDOW_H#include <QWidg…

JDBC编程步骤

JDBC编程步骤 JDBC编程大致按如下步骤进行&#xff1a; &#xff08;1&#xff09;加载数据库驱动。通常我们使用Class类的forName静态方法来加载驱动。例如如下代码&#xff1a; Class.forName(driverClass) driverClass就是数据库驱动类所对应的字符串 例如加载…

(13)中值滤波和双边滤波

其实中值滤波&#xff0c;就是那九个数值&#xff0c;进行排序&#xff0c;选择中间的数值来代替那九个数的中间位置的值&#xff0c;然后再从左到右&#xff0c;从上到下&#xff0c;这样移动运算 下面是均值滤波和高斯滤波的基础知识 中值滤波基础知识 运用中值滤波&a…

贪心:Jump Game 跳跃游戏

一个数组存储了非负整型数据&#xff0c;数组中的第i个元素a[i]&#xff0c;代表了可以从数组第i个 位置最多向前跳跃a[i]步;已知数组各元素的情况下&#xff0c;求是否可以从数组的第0个位置跳跃到数组的最后一个元素的位置&#xff0c;返回是true或者false判断是否能够跳跃到…

MFC之按键消息(长按处理)

想要实现长按键的一些控制&#xff0c;查了查可以通过捕获键盘事件&#xff0c;然后处理按键时需要进行的操作。下面简单的实现左右按键界面更新数值加减。 1. 重载PreTranslateMessage(MSG* pMsg)函数&#xff0c;在函数中捕获键盘事件并处理响应&#xff1a; BOOL CEditTestD…

服务器oracle11g卸载,卸载Oracle11g步骤详解

卸载Oracle11g步骤详解用Oracle自带的卸载程序不能从根本上卸载Oracle&#xff0c;从而为下次的安装留下隐患&#xff0c;那么怎么才能完全卸载Oracle呢&#xff1f;那就是直接注册表清除&#xff0c;步骤如下&#xff1a;1、 开始&#xff0d;>设置&#xff0d;>控制面板…

Fedora下配置网卡

第一次在fedora下配置静态网卡&#xff0c;首先去网络管理里面添加并设置网卡的IP&#xff0c;子网掩码和默认网关出口&#xff0c;然后保存即可&#xff0c; 也可以在 /etc/sysconfig/network-scripts/ifcfg-eth0 中直接添加这些信息&#xff0c;对应的为网卡的IP&#xff0c;…

echarts相关设置

1.显示隐藏工具栏 注释toolbox即可 /* toolbox: {show : true,feature : {dataView : {show: true, readOnly: false},magicType : {show: true, type: [line, bar]},restore : {show: true},saveAsImage : {show: true}}},*/ 2.鼠标划过数据显示对应的数据 tooltip : {trig…

贪心:jump 游戏(获取最少跳跃的次数以及跳跃路径)

一个数组存储了非负整型数据&#xff0c;数组中的第i个元素a[i]&#xff0c;代表了可以从数组第i个 位置最多向前跳跃a[i]步;已知数组各元素的情况下&#xff0c;求是否可以从数组的第0个位置跳跃到数组的最后一个元素的位置&#xff0c;返回最少跳跃的次数以及跳跃过程的路径&…

ADO.NET事务

在发布System.Transaction命名空间之前&#xff0c;可以直接用ADO.NET创建事务&#xff0c;也可以通过组件、特性和COM运行库&#xff08;位于System.EnterpriseServices命名空间中&#xff09;进行事务处理。本文如题所示&#xff0c;介绍在这些传统事务处理方式中较为简单的“…

oracle表中怎么去重复,oracle去掉表重复数据

今天在做项目过程中&#xff0c;碰到数据库表存在重复记录&#xff0c;显示的时候需要去掉重复的数据。想了老半天&#xff0c;最终用rank() over (partition by 分组字段 order by 排序字段 顺序)解决了此问题。一、首先介绍下rank() over (partition by 分组字段 order by 排…

JavaIO操作(1)字节流和字符流-1

3.2、字节流和字符流&#xff08;核心&#xff09; 使用File类执行的所有操作都是针对于文件本身&#xff0c;但是却没有针对于文件的内容&#xff0c;而要进行文件内容操作就需要通过Java之中提供的两组类完成&#xff1a; 字节操作流&#xff08;是在JDK 1.0的时候定义的&am…

7min到40s:SpringBoot 启动优化实践

然后重点排查这些阶段的代码。先看下。

SpringBoot系列教程之Bean之指定初始化顺序的若干姿势

之前介绍了@Order注解的常见错误理解,它并不能指定 bean 的加载顺序,那么问题来了,如果我需要指定 bean 的加载顺序,那应该怎么办呢?本文将介绍几种可行的方式来控制 bean 之间的加载顺序。

在Java中使用WebSocket

WebSocket是一种协议,用于在Web应用程序和服务器之间建立实时、双向的通信连接。它通过一个单一的TCP连接提供了持久化连接,这使得Web应用程序可以更加实时地传递数据。WebSocket协议最初由W3C开发,并于2011年成为标准。

3种方案,模拟两个线程抢票

在多线程编程中,资源竞争是一个常见的问题。资源竞争发生在多个线程试图同时访问或修改共享资源时,可能导致数据不一致或其他并发问题。在模拟两个线程抢票的场景中,我们需要考虑如何公平地分配票,并确保每个线程都有机会成功获取票。本篇文章将通过三种方式来模拟两个线程抢票的过程,以展示不同的并发控制策略。使用 Synchronized 来确保一次只有一个线程可以访问票资源。使用 ReentrantLock 来实现线程间的协调。使用 Semaphore 来限制同时访问票的线程数量。

初级七 委托与事件

1.委托是一种类型&#xff0c;定义委托后想要实现他需要实例化&#xff0c;而事件其实就是委托的一个实例&#xff0c;加了event修饰&#xff1b; 委托实例化可以在 2.委托的作用&#xff1a;可以作为函数的参数传递&#xff1b; 无委托无异步&#xff1b; 委托主要是用来解耦 …

r-route 命令 显示/配置ip路由表

文章目录前言语法格式命令使用输出含义使用实例前言 route命令用于显示和配置IP路由表&#xff0c;在不同节点间的网络通信&#xff0c;想要实现同一局域网之间的通信就需要交换机&#xff0c;不同局域网之间的通信就需要路由器。而路由器的存在是为了提供NAT转换&#xff0c;…

suse oracle 12c安装,用半行代码实现在LINUX(SUSE/RH)下安装ORACLE 12C

最近新到单位的朋友总是抱怨在LINUX下安装ORACLE&#xff0c;实在是太麻烦了&#xff0c;而且这些步骤既不知是什么意思&#xff0c;也记不住&#xff1b;索性&#xff0c;我就分析了一下&#xff0c;经过实践&#xff0c;实现了只用半行代码(确切的说&#xff0c;只消4个字母)…

shell--数组的定义/访问/赋值/遍历

1 #!/bin/bash2 # 数组3 4 # 数组的定义5 a(0 1 2 3)6 # 数组元素的访问7 echo "a[0]:${a[0]}"8 # 数组的长度9 echo "length:${#a[*]}" 10 # 所有元素 11 echo "all element:${a[*]}" 12 # 删除某个元素 13 unset a[1] 14 echo "after uns…

四百元值不值——论小米2A与2S

作为一个米2用户&#xff0c;面对这手机市场极快的更新速度&#xff0c;有些跟不上速度。最近出了小米2A与2S&#xff0c;碰巧有人问值不值的问题&#xff0c;于是就小小的进行了一个研究&#xff0c;跟大家讨论一下。首先小米2A与2S在我看来就是2的翻版&#xff0c;现在小米的…

python复习冒泡排序

冒泡排序&#xff1a; 思路&#xff1a; 先找到最大值放到最右边&#xff1a; #encodingutf-8 a[1,9,2,8,3,6,4] print "a before change:",a for i in range(len(a)-1): if a[i] > a[i1]: a[i],a[i1] a[i1],a[i] print "a after change:",a 结果&…

linux 文件查找命令集:find,locate,wheres,which,type

文章目录前言find命令命令格式&#xff1a;常用选项&#xff1a;举例使用locate命令命令格式使用实例whereis命令使用过程:which命令type命令前言 在linux系统中一切皆文件&#xff0c;此时我们想要从海量的文件中快速定位中我们想要的文件来&#xff0c;需要指定的命令来操作…

oracle生成xml方法,oracle存储过程生成xml==转

1.创建如下存储过程&#xff0c;注意将其中location >d:\work之中的目录改为你本机的某个目录.create or replace procedure getXML(newContext_qry varchar2,rowSettag varchar2,rowTag varchar2,filename varchar2) is-- Input query string-- Input rowsetTag , the root…

打算看的书或正在看的书

打算看的书或正在看的书 《Data Structures and Algorithm Analysis in C》 正在看&#xff0c;这本书是在博客园上看到某个去google的大牛推荐的&#xff0c;的确&#xff0c;虽然数据结构&#xff0c;我已经很熟悉了&#xff0c;但是看这本书的时候&#xff0c;有一些细节我是…

Tutorial——使用Maven开发Cloud Driver

2019独角兽企业重金招聘Python工程师标准>>> Before You Start 开发之前&#xff0c;应有以下准备 Apache MavenCloudify调用云API的安全凭证&#xff0c;使用SSH访问你的机器&#xff0c;如果需要访问您的云的存储。 例如&#xff0c;通过以下步骤获得OpenStack的安…