在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实现的MySQL通用查询程序
Mar 11 PHP
php面向对象的方法重载两种版本比较
Sep 08 PHP
php环境配置之CGI、FastCGI、PHP-CGI、PHP-FPM、Spawn-FCGI比较?
Oct 17 PHP
thinkphp3.0 模板中函数的使用
Nov 13 PHP
PHP递归调用的小技巧讲解
Feb 19 PHP
使用php实现下载生成某链接快捷方式的解决方法
May 07 PHP
PHP清除数组中所有字符串两端空格的方法
Oct 20 PHP
Codeigniter实现发送带附件的邮件
Mar 19 PHP
PHP多维数组遍历方法(2种实现方法)
Dec 10 PHP
PHP的全局错误处理详解
Apr 25 PHP
PHP递归删除多维数组中的某个值
Apr 17 PHP
TP5框架简单登录功能实现方法示例
Oct 31 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 Rename 更改文件、文件夹名称
2011/05/24 PHP
神盾加密解密教程(一)PHP变量可用字符
2014/05/28 PHP
THINKPHP2.0到3.0有哪些改进之处
2015/01/04 PHP
yii2利用自带UploadedFile实现上传图片的示例
2017/02/16 PHP
PHP 实现字符串翻转(包含中文汉字)的实现代码
2017/04/01 PHP
JS 继承实例分析
2008/11/04 Javascript
Js 中debug方式
2010/02/07 Javascript
javascript:history.go()和History.back()的区别及应用
2012/11/25 Javascript
Javascript 浮点运算的问题分析与解决方法
2013/08/27 Javascript
javascript中style.left和offsetLeft的用法说明
2014/03/07 Javascript
纯js和css实现渐变色包括静态渐变和动态渐变
2014/05/29 Javascript
jquery实现侧边弹出的垂直导航
2014/12/09 Javascript
PHP+MySQL+jQuery随意拖动层并即时保存拖动位置实例讲解
2015/10/09 Javascript
jQuery实现的分子运动小球碰撞效果
2016/01/27 Javascript
jquery 键盘事件的使用方法详解
2017/09/13 jQuery
了解javascript中变量及函数的提升
2019/05/27 Javascript
微信小程序全局变量改变监听的实现方法
2019/07/15 Javascript
Python httplib,smtplib使用方法
2008/09/06 Python
python+matplotlib实现鼠标移动三角形高亮及索引显示
2018/01/15 Python
django使用django-apscheduler 实现定时任务的例子
2019/07/20 Python
Python timeit模块原理及使用方法
2020/10/10 Python
使用Python实现NBA球员数据查询小程序功能
2020/11/09 Python
日本最大的眼镜购物网站:Oh My Glasses
2016/11/13 全球购物
eDreams加拿大:廉价航班、酒店和度假
2019/03/29 全球购物
Farah官方网站:男士服装及配件
2019/11/01 全球购物
可以使用抽象函数重写基类中的虚函数吗
2013/06/02 面试题
秋游活动策划方案
2014/02/16 职场文书
党的群众路线教育实践方案
2014/05/11 职场文书
经营理念标语
2014/06/21 职场文书
夫妻婚内购房协议书
2014/10/05 职场文书
2015国庆节66周年标语
2015/07/30 职场文书
高端收音机+蓝牙音箱,JBL TUNER FM带收音蓝牙音箱评测
2021/04/24 无线电
Python手拉手教你爬取贝壳房源数据的实战教程
2021/05/21 Python
Java Socket实现多人聊天系统
2021/07/15 Java/Android
利用JuiceFS使MySQL 备份验证性能提升 10 倍
2022/03/17 MySQL
如何利用python实现Simhash算法
2022/06/28 Python