Linux下memcache与redis的使用(包含PHP扩展)

redis_vs_memcached
Memcache以及Redis作为两大NoSQL数据库,已经成为当下开发中必不可少的工具,更是作为一个PHP程序员的标配,所以本文主要记录两种数据库在Linux下的安装步骤以及相关的PHP扩展的安装。

memcache
url
1.安装libevent,由于memcache依赖libevent模块,所以需要安装libevent

cd /usr/
wget https://github.com/downloads/libevent/libevent/libevent-1.4.14b-stable.tar.gz
tar -zxvf libevent-1.4.14b-stable.tar.gz
rm -rf libevent-1.4.14b-stable.tar.gz
cd libevent-1.4.14b-stable
./configure
make && make install

2.正式安装memcache

cd /usr/
wget http://memcached.org/files/memcached-1.4.17.tar.gz
tar -zxvf memcached-1.4.17.tar.gz
rm -rf memcached-1.4.17.tar.gz
cd memcached-1.4.17
./configure
make && make install

3.启动memcache

#-d : 表示以守护进程的方式启动
#-m :为memcache缓存开启空间
#-l : 监听的主机名或ip地址,这里我监听本地回环地址
#-p : 监听端口,memcache默认监听端口就是11211
#-c : 表示并发连接数
#-P : 表示memcache的pid文件保存位置
/usr/local/bin/memcached -d -m 10 -u root -l localhost -p 11211 -c 32 -P /tmp/memcached.pid

4.检测是否启动成功
ps -aux | grep memcache

memcache安装成功后,如果通过PHP来进行操作,可以安装PHP的memcache扩展,然后memcache提供的API接口来进行缓存操作。

PHP安装memcache模块
1.安装篇

cd /usr/
wget http://pecl.php.net/get/memcache-2.2.4.tgz
tar -zxvf memcache-2.2.4.tgz
rm -rf memcache-2.2.4.tgz
cd memcache-2.2.4
#查找phpize的位置 find / -name phpize
/usr/bin/phpize
#查找php-config的位置 find / -name php-config
./configure --with-php-config=/usr/local/php/bin/php-config
make && make install

-----------------------------------------------------------
#修改php.ini,添加扩展
extension=memcache.so

-----------------------------------------------------------
#重启nginx
service nginx restart

2.验证篇
在命令行模式下,输入如下命令,可以看到模块的话,就安装成功了。

php -m | grep memcache

3.测试篇
新建一个memcache.php文件,代码为

<?php
    $memcache = new Memcache; //创建一个memcache对象
    $memcache->connect('localhost', 11211) or die ("Could not connect"); //连接Memcached服务器
    $memcache->set('key', 'test'); //设置一个变量到内存中,名称是key 值是test
    $get_value = $memcache->get('key'); //从内存中取出key的值
    echo $get_value;
?>

php memcache.php,如果成功输出test,则证明PHP的memcache安装成功。

Redis
redis-300dpi
1.安装篇

cd /usr/
wget http://download.redis.io/releases/redis-3.0.5.tar.gz
tar -zxvf redis-3.0.5.tar.gz
cd redis-3.0.5
make PREFIX=/usr/local/redis install
cd src
#执行下面的make test很可能出现错误,解决办法在<a href="http://blog.csdn.net/luyee2010/article/details/18766911" target="_blank">http://blog.csdn.net/luyee2010/article/details/18766911</a>
make test

2.配置篇
配置到没有什么配置的,只需要移动一个文件即可

cp redis.conf /usr/local/redis

3.启动篇

cd /usr/local/redis/bin/
#启动
./redis-server ../redis.conf

E3F7CD23-F723-48FD-8BEF-E188970D1EA7
重新开启一个终端

cd /usr/local/redis/bin/
#进入redis终端操作窗口
./redis-cli
#设置一个key-value对
set name xuwenzhi
#获取key的value 
get name

1AE9573E-9C30-4BEE-8C5F-8D3462F0A5C8

好,以上Redis就已经可以正常工作了,那么如何让PHP也能跟Redis交互呢?那当然需要安装PHP的redis扩展。

安装Redis扩展

cd /usr/local/src
//下载redis扩展安装包
wget https://github.com/nicolasff/phpredis/archive/2.2.4.tar.gz
//解压redis安装包
tar zxvf 2.2.4.tar.gz
//进入解压后的文件夹
cd phpredis-2.2.4
#查找phpize的位置 find / -name phpize
/usr/bin/phpize
#查找php-config的位置 find / -name php-config
./configure --with-php-config=/usr/local/php/bin/php-config
make && make install
-----------------------------------------------------------
//修改php.ini,添加扩展,保存并退出
extension=redis.so 
-----------------------------------------------------------
#重启服务
service nginx restart
service php-fpm restart

检查下Redis扩展是否安装成功?
新建一个叫做redis.php的文件

<?php
    //连接本地的 Redis 服务
    $redis = new Redis();
    $redis->connect('127.0.0.1', 6379);
    echo "Connection to server sucessfully";
    //查看服务是否运行
    echo "Server is running: " . $redis->ping();

在执行之前,请确保Redis服务在启动状态
C7F07580-1C92-4675-AF44-1FA9EF990EDA

Linux下memcache与redis的使用(包含PHP扩展)
Tags:     

发表评论

电子邮件地址不会被公开。 必填项已用*标注