在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编程最快明白》第七讲:php图片验证码与缩略图
Nov 01 PHP
基于PHP开发中的安全防范知识详解
Jun 06 PHP
php生成数组的使用示例 php全组合算法
Jan 16 PHP
PHP中对于浮点型的数据需要用不同的方法解决
Mar 11 PHP
php通过array_unshift函数添加多个变量到数组前端的方法
Mar 18 PHP
php简单图像创建入门实例
Jun 10 PHP
详解WordPress中调用评论模板和循环输出评论的PHP函数
Jan 05 PHP
Laravel的throttle中间件失效问题解决方法
Oct 09 PHP
PHP实现的简单异常处理类示例
May 04 PHP
PHP回调函数简单用法示例
May 08 PHP
php ZipArchive实现多文件打包下载实例
Oct 31 PHP
PHP笛卡尔积实现原理及代码实例
Dec 09 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)
2010/09/04 PHP
php微信公众平台开发之获取用户基本信息
2015/08/17 PHP
详解PHP实现定时任务的五种方法
2016/07/25 PHP
PHP实现从PostgreSQL数据库检索数据分页显示及根据条件查找数据示例
2018/06/09 PHP
User Scripts: Video Download by User Scripts
2007/05/14 Javascript
jsTree 基于JQuery的排序节点 Bug
2011/07/26 Javascript
Jquery写一个鼠标拖动效果实现原理与代码
2012/12/24 Javascript
使用jquery写个更改表格行顺序的小功能
2014/04/29 Javascript
dreamweaver 8实现Jquery自动提示
2014/12/04 Javascript
jQuery中:focus选择器用法实例
2014/12/30 Javascript
DOM基础教程之使用DOM控制表格
2015/01/20 Javascript
javascript实现模拟时钟的方法
2015/05/13 Javascript
JavaScript实现瀑布流布局
2020/06/28 Javascript
js实现的下拉框二级联动效果
2016/04/30 Javascript
原生javascript AJAX 三级联动的实现代码
2018/05/04 Javascript
vue采用EventBus实现跨组件通信及注意事项小结
2018/06/14 Javascript
环形加载进度条封装(Vue插件版和原生js版)
2019/12/04 Javascript
vue相关配置文件详解及多环境配置详细步骤
2020/05/19 Javascript
Python中super关键字用法实例分析
2015/05/28 Python
Python实现合并同一个文件夹下所有PDF文件的方法示例
2018/04/28 Python
python中bs4.BeautifulSoup的基本用法
2019/07/27 Python
python协程gevent案例 爬取斗鱼图片过程解析
2019/08/27 Python
pytorch 自定义参数不更新方式
2020/01/06 Python
python中count函数简单的实例讲解
2020/02/06 Python
Python基于requests实现模拟上传文件
2020/04/21 Python
DjangoWeb使用Datatable进行后端分页的实现
2020/05/18 Python
PyTorch中model.zero_grad()和optimizer.zero_grad()用法
2020/06/24 Python
css3图片边框border-image的用法
2017/06/30 HTML / CSS
10分钟入门CSS3 Animation
2018/12/25 HTML / CSS
Android面试宝典
2013/08/06 面试题
Delphi工程师笔试题
2013/09/21 面试题
个人简历中的自我评价范例
2013/10/29 职场文书
食堂个人先进事迹
2014/01/22 职场文书
小学优秀班干部事迹材料
2014/05/25 职场文书
学雷锋献爱心活动总结
2015/05/11 职场文书
Python Matplotlib绘制等高线图与渐变色扇形图
2022/04/14 Python