专栏首页米扑专栏PHP 使用 Redis

PHP 使用 Redis

Redis 驱动安装

开始在 PHP 中使用 Redis 前, 需要确保已经安装了 redis 服务及 PHP redis 驱动,且你的机器上能正常使用 PHP。

本文示例代码,请见米扑博客: PHP 使用 Redis

PHP redis 驱动下载地址

https://github.com/nicolasff/phpredis

下载源码或zip压缩包

https://github.com/phpredis/phpredis/archive/develop.zip

PHP安装redis扩展

which phpize /usr/local/bin/phpize               ./configure  –with-php-config=/usr/local/bin/php-config make && make install

错误处理:

homer@ubuntu:~$ /usr/local/bin/phpize Configuring for: PHP Api Version:         20121113 Zend Module Api No:      20121212 Zend Extension Api No:   220121212 Cannot find autoconf. Please check your autoconf installation and the $PHP_AUTOCONF environment variable. Then, rerun this script.

解决方法:

下载 m4-1.4.9.tar.gz

http://ftp.gnu.org/gnu/m4/m4-1.4.9.tar.gz

下载 autoconf-2.62.tar.gz

http://ftp.gnu.org/gnu/autoconf/autoconf-2.62.tar.gz

安装步骤(root权限)

# tar -zvxf m4-1.4.9.tar.gz # cd m4-1.4.9/ # ./configure && make && make install # cd ../ # tar -zvxf autoconf-2.62.tar.gz # cd autoconf-2.62/ # ./configure && make && make install

yum 安装方法

 yum install m4  yum install autoconf

修改php.ini文件

可以通过创建 phpinfo.php 文件,输入 <?php echo phpinfo(); ?> 来查看 php.ini 配置文件路径

vim  /etc/php5/apache2/php.ini

查找生成的 redis.so 文件,find命令:

find / -name “redis.so”

/usr/local/lib/php/extensions/no-debug-non-zts-20121212/redis.so /home/homer/Downloads/tool-server/phpredis-develop/.libs/redis.so /home/homer/Downloads/tool-server/phpredis-develop/modules/redis.so

增加如下内容:

extension=/usr/local/lib/php/extensions/no-debug-non-zts-20121212/redis.so

安装完成后重启 php-fpm 或 apache

/etc/init.d/apache2 restart       

/etc/init.d/php-fpm restart

/etc/init.d/httpd restart

查看phpinfo信息,就能看到redis扩展

启动Redis后台服务

/usr/local/bin/redis-server   /etc/redis/redis_6379.conf   &

Redis 示例

1234567891011121314151617181920212223242526272829303132333435

<?php         $redis = new Redis();         $redis->connect('127.0.0.1', 6379);                            // 连接本地Redis服务    echo 'redis is running : ' . $redis->ping() . "<br>";        // 查看服务是否运行         // 数据存取    $redis->set("foo", "bar");                // 存值                $redis->expire("foo", 10);                // 设置超时    $foo_value = $redis->get("foo");        // 取值    echo "foo : " . $foo_value . "<br>";    echo "<br><br>";         // list列表    $redis->lpush("mimvp", "blog");    $redis->lpush("mimvp", "forum");    $redis->lpush("mimvp", "proxy");    $list_value = $redis->lrange("mimvp", 0, 2);    print_r($list_value);    echo "<br><br>";              // keys 示例和超时验证    $i = 0;    for($i=0; $i<20; $i++) {        echo " ---- " . $i . " ---- " . "<br>";        $l_list = $redis->keys("*");        print_r($l_list);        echo "<br><br>";                 sleep(1);    }     ?>

运行结果:

1

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465

redis is running : +PONGfoo : bar  Array ( [0] => proxy [1] => forum [2] => blog )  ---- 0 ---- Array ( [0] => foo [1] => mimvp )  ---- 1 ---- Array ( [0] => foo [1] => mimvp )  ---- 2 ---- Array ( [0] => foo [1] => mimvp )  ---- 3 ---- Array ( [0] => foo [1] => mimvp )  ---- 4 ---- Array ( [0] => foo [1] => mimvp )  ---- 5 ---- Array ( [0] => foo [1] => mimvp )  ---- 6 ---- Array ( [0] => foo [1] => mimvp )  ---- 7 ---- Array ( [0] => foo [1] => mimvp )  ---- 8 ---- Array ( [0] => foo [1] => mimvp )  ---- 9 ---- Array ( [0] => foo [1] => mimvp )  ---- 10 ---- Array ( [0] => mimvp )  ---- 11 ---- Array ( [0] => mimvp )  ---- 12 ---- Array ( [0] => mimvp )  ---- 13 ---- Array ( [0] => mimvp )  ---- 14 ---- Array ( [0] => mimvp )  ---- 15 ---- Array ( [0] => mimvp )  ---- 16 ---- Array ( [0] => mimvp )  ---- 17 ---- Array ( [0] => mimvp )  ---- 18 ---- Array ( [0] => mimvp )  ---- 19 ---- Array ( [0] => mimvp )

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Ubuntu 安装 Redis

    Redis,is an open source, BSD licensed, advanced key-value store. It is often ref...

    阳光岛主
  • Clojure 学习入门(9)—— 连接redis

    project.cli 添加redis依赖: [clj-redis "0.0.12"]

    阳光岛主
  • Redis 安装配置

    Redis 是一个key-value存储系统。和Memcached类似,但是解决了断电后数据完全丢失的情况,而且她支持更多无化的value类型,除了和strin...

    阳光岛主
  • 快速学习Docker和容器技术

    基于浏览器交互式学习Docker和容器 参考:https://www.katacoda.com/courses/docker 部署第一个Docker容器 Do...

    shaonbean
  • ngx_pagespeed-nginx前端优化模块介绍

    ngx_pagespeed是Nginx的一个扩展模块,借助pagespeed,为Nginx网站服务器提速。主要的功能是针对前端页面而进行服务器端的优化,对前端设...

    洗尽了浮华
  • 资源 | FAIR &amp; NYU开发XNLI语料库:15种语言(含低资源语言)

    项目地址:https://github.com/facebookresearch/XNLI

    机器之心
  • js表单验证工具包

    HUC思梦
  • C++ 获取当前系统时间

    time() 是系统C语言的标准接口,通过man time 或者man 2 time 可查看详细的使用方法。

    宇航
  • 【swoole4.0】实现Actor并发模型

    Actor概念来源于Erlang, 对于PHPer来说,可能会比较陌生,写过Java的同学会比较熟悉,Java一直都有线程的概念(虽然PHP有Pthread,但...

    桶哥
  • 使用Require.js实现模块化开发

    在javascript中,我们把比较复杂的都是用模块化,今天我们就来了解一下require.js来实现模块化开发

    小明爱学习

扫码关注云+社区

领取腾讯云代金券