码迷,mamicode.com
首页 > 其他好文 > 详细

[原创]Centos7 从零编译配置Redis

时间:2016-05-25 20:44:51      阅读:213      评论:0      收藏:0      [点我收藏+]

标签:

序言


 

Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库驱动网站的速度。

Memcached基于一个存储键/值对的hashmap。其守护进程(daemon )是用C写的,但是客户端可以用任何语言来编写,并通过memcached协议与守护进程通信。

当然memcached分为服务端客户端。服务端用来存放缓存,客户端用来操作缓存。

客户端有两种常见的实现方式。

第一种是用php代码根据服务端的通讯规则自己写一个。

第二种是安装php扩展库(php-memcached)。

 

 

目录


 

一、Centos7 从零编译配置Memcached

 

 

一、准备工作


 

创建目录source和package,分别用来放源码和编译后的文件

# mkdir /source/
# mkdir /package/

 

 

二、开始安装


 

2.1 安装Redis

[官方网站] http://www.redis.io/

命令流程:

# cd /source/
# wget http://download.redis.io/releases/redis-3.2.0.tar.gz
# tar -zxvf redis-3.2.0.tar.gz
# cd redis-3.2.0
# make # cd src

 

2.2 组合生成的文件

编译完成后,在src目录下,有四个可执行文件redis-server、redis-benchmark、redis-cli和redis.conf。然后拷贝到一个目录下。

命令流程:

mkdir /package/redis
cp redis
-server /package/redis cp redis-benchmark /package/redis cp redis-cli /package/redis cp redis.conf /package/redis cd /package/redis

 

 

 

本章总结:

通过以上操作就很简单的把memcached服务端编译好了。这时候就可以打开服务端进行工作了。

# /lnmp/memcached/bin/memcached -d -m 2048 -l 127.0.0.1 -p 11211 -u root -c 1024 –P /tmp/memcached.pid
启动参数说明:
-d  选项是启动一个守护进程。
-m  分配给Memcache使用的内存数量,单位是MB,默认64MB。
-l  监听的IP地址。(默认:INADDR_ANY,所有地址)
-p  设置Memcache的TCP监听的端口,最好是1024以上的端口。
-u  运行Memcache的用户,如果当前为root的话,需要使用此参数指定用户。
-c  选项是最大运行的并发连接数,默认是1024。
-P  设置保存Memcache的pid文件。

 

 

三、memcached(客户端篇)

  第一种:php代码


 

这种方法实现客户端最简单,直接下载我写的《SL_Memcached》类库include到自己的项目里调用相关对象就行了。

当然,你也可以用其他语言实现。这里就不在讲了。

使用方法如下:

<?php
include(‘memcached.class.php‘);

$memcached = new SL_Memcached();       //实例化对象
$memcached->connect(‘127.0.0.1:11211‘);   //连接memcached服务端

$memcached->set(‘key1‘, ‘我是快乐的键值‘);   //设置键值
$memcached->set(‘key2‘, ‘我就要被删了‘);    //设置键值
$memcached->delete(‘key2‘);          //删除键值

var_dump($memcached->get(‘key1‘));      //获取键值
var_dump($memcached->get(‘key2‘));      //获取键值
?>

 

输出:

string(21) "我是快乐的键值"

NULL

4.1 安装zlib

[官方网站] http://zlib.net/

命令流程:

# cd /source/
# wget http://zlib.net/zlib-1.2.8.tar.gz # tar -zxvf zlib-1.2.8.tar.gz
# ./configure --prefix=/package/zlib
# make
# make install

 

 

开始配置php-memcached

 

打开php.ini

# vi /lnmp/php/etc/php.ini

在合适的位置添加如下
extension = /lnmp/php/lib/php/extensions/no-debug-non-zts-20151012/memcached.so

 

 技术分享

 

------------------------------------------------------------

五、常见错误总汇

------------------------------------------------------------

5.1 Unable to load dynamic library ‘memcached.so‘ - libmemcached.so.11: cannot open shared object file: No such file or directory in Unknown no line 0

说明:没有找到php的附加库memcached.so所需动态库libmemcached.so.11。出现上述错误一般是没有将libmemcached目录设置到环境变量里。

我们添加到环境变量LD_LIBRARY_PATH里就搞定了。

# export LD_LIBRARY_PATH=/package/libmemcached/lib:$LD_LIBRARY_PATH

 

[原创]Centos7 从零编译配置Redis

标签:

原文地址:http://www.cnblogs.com/project/p/5528170.html

(1)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!