在PHP中使用redis


Posted in PHP onNovember 04, 2013

在Mac OS上安装redis
首先是安装,它会默认安装到/usr/local/bin下

cd /tmp
wget http://redis.googlecode.com/files/redis-2.6.9.tar.gz
tar -zxf redis-2.6.9.tar.gz
cd redis-2.6.9
make
sudo make install

然后下载一些配置文件(主要就是把deamon打开之类的,没对比与默认配置的区别)
wget https://github.com/ijonas/dotfiles/raw/master/etc/redis.conf
sudo mv redis.conf /etc/redis.conf
sudo /usr/local/bin/redis-server redis.conf
说到这里备注下,如果没有目录权限,是无法建立
/var/log/redis/redis.log
/var/lib/redis/

导致redis启动失败
ok,现在已经大功告成,你的redis已经成功运行起来了。
试试看吧!
/opt/redis/redis-cli
#会看到提示 redis 127.0.0.1:6379>说明已经连接服务。
set anythink helloworld
get anythink
exit

good 看到了helloworld,说明一切正常。
如果我需要停止redis或者需要重新启动呢?
cat /opt/redis/redis.pid
#cat后会得到一个pid,我的是44277
sudo kill 44277
# 启动方法和之前一样。

设置开机自启动、后台运行
然后以root身份做以下事情:
在/Library/LaunchDaemons下新建com.redis.plist,内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
        <key>Label</key>
        <string>com.redis</string>
        <key>RunAtLoad</key>
        <true/>
        <key>ProgramArguments</key>
        <array>
                <string>/usr/local/bin/redis-server</string>
                <string>/etc/redis.conf</string>
        </array>
</dict>
</plist>

之后运行
sudo launchtcl load /Library/LaunchDaemons/com.redis.plist
sudo launchtcl start com.redis

检查一下情况:
$ cat /var/run/redis.pid

如果出来pid的数字,说明就运行了~
安装php-redis扩展
如果你需要在PHP中使用redis,那么请继续往下看
curl -O https://nodeload.github.com/nicolasff/phpredis/zip/master
tar -zxf master
cd phpredis-master/
phpize
./configure
make
sudo make install# 这时候会提示一个路径
# /usr/lib/php/extensions/no-debug-non-zts-20090626/
# 表示已经将扩展放置在该位置
vim /etc/php.ini
#增加如下内容
extension=redis.so
#重启apache
sudo httpd -k restart
#查看扩展安装情况
php -m |grep redis
#出现 redis 表示安装成功。

如果执行phpize提示如下错误
Cannot find autoconf. Please check your autoconf installation
and the $PHP_AUTOCONF environment variable.
Then, rerun this script.

请分别下载M4,autoconf编译安装

curl -O http://ftp.gnu.org/gnu/m4/m4-1.4.9.tar.gz
curl -O http://ftp.gnu.org/gnu/autoconf/autoconf-2.62.tar.gz

注意,以上使用的apache、php均为MacOS自带的,如果是自己安装的phpize请指定绝对路径。
图形管理工具
另:redis还有一个基于WEB的图形界面管理工具,叫phpRedisAdmin,如果刚开启服务会出现一些Undefined index,过一会就好了。如果想试试可以使用如下命令安装(git推荐使用SourceTree安装)该管理工具支持String、Hash、List、Set、Zset
git clone https://github.com/ErikDubbelboer/phpRedisAdmin.git
cd phpRedisAdmin/
git clone https://github.com/nrk/predis.git
PHP 相关文章推荐
php Smarty模板生成html文档的方法
Apr 12 PHP
PHP通过iconv将字符串从GBK转换为UTF8字符集
Jul 18 PHP
PHP 代码规范小结
Mar 08 PHP
Zend Framework页面缓存实例
Jun 25 PHP
Thinkphp中import的几个用法详细介绍
Jul 02 PHP
Session 失效的原因汇总及解决丢失办法
Sep 30 PHP
Yii2简单实现给表单添加验证码的方法
Jul 18 PHP
PHP简单计算两个时间差的方法示例
Jun 20 PHP
利用PHP访问MySql数据库的逻辑操作以及增删改查的实例讲解
Aug 30 PHP
Yii2框架实现登录、退出及自动登录功能的方法详解
Oct 24 PHP
PHP实现字符串大小写转函数的功能实例
Feb 06 PHP
php实现统计IP数及在线人数的示例代码
Jul 22 PHP
6种php上传图片重命名的方法实例
Nov 04 #PHP
php preg_replace替换实例讲解
Nov 04 #PHP
php define的第二个参数使用方法
Nov 04 #PHP
Linux编译升级php的详细方法
Nov 04 #PHP
php获取操作系统语言代码
Nov 04 #PHP
Php header()函数语法及使用代码
Nov 04 #PHP
php配置php-fpm启动参数及配置详解
Nov 04 #PHP
You might like
如何把PHP转成EXE文件
2006/10/09 PHP
无法在发生错误时创建会话,请检查 PHP 或网站服务器日志,并正确配置 PHP 安装(win+linux)
2012/05/05 PHP
php5.3 注意事项说明
2013/07/01 PHP
两种设置php载入页面时编码的方法
2014/07/29 PHP
浅析THINKPHP的addAll支持的最大数据量
2015/02/03 PHP
利用PHP如何实现Socket服务器
2015/09/23 PHP
php正则提取html图片(img)src地址与任意属性的方法
2017/02/08 PHP
visual studio code 调试php方法(图文详解)
2017/09/15 PHP
LaravelS通过Swoole加速Laravel/Lumen详解
2018/03/02 PHP
用js判断浏览器是否是IE的比较好的办法
2007/05/08 Javascript
JavaScipt基本教程之前言
2008/01/16 Javascript
分享精心挑选的12款优秀jQuery Ajax分页插件和教程
2012/08/09 Javascript
fmt:formatDate的输出格式详解
2014/01/09 Javascript
Js判断CSS文件加载完毕的具体实现
2014/01/17 Javascript
从数据库读取数据后将其输出成html标签的三种方法
2014/10/13 Javascript
Javascript访问器属性实例分析
2014/12/30 Javascript
基于JavaScript实现鼠标箭头移动图片跟着移动
2016/08/30 Javascript
微信小程序前端源码逻辑和工作流
2016/09/25 Javascript
浅谈express 中间件机制及实现原理
2017/08/31 Javascript
angular.js实现购物车功能
2017/10/23 Javascript
在vue-cli中组件通信的方法
2017/12/16 Javascript
微信小程序实现分享朋友圈的图片功能示例
2019/01/18 Javascript
详解新手使用vue-router传参时注意事项
2019/06/06 Javascript
python字符串连接的N种方式总结
2014/09/17 Python
老生常谈python的私有公有属性(必看篇)
2017/06/09 Python
pandas表连接 索引上的合并方法
2018/06/08 Python
Django之路由层的实现
2019/09/09 Python
python SocketServer源码深入解读
2019/09/17 Python
python multiprocessing多进程变量共享与加锁的实现
2019/10/02 Python
python验证码图片处理(二值化)
2019/11/01 Python
html5 sessionStorage会话存储_动力节点Java学院整理
2017/07/06 HTML / CSS
运动会解说词50字
2014/01/18 职场文书
大学校园活动策划书
2014/02/04 职场文书
Python多线程 Queue 模块常见用法
2021/07/04 Python
NGINX 权限控制文件预览和下载的实现原理
2022/01/18 Servers
Python序列化模块JSON与Pickle
2022/06/05 Python