在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(4) php 函数 补充2
Feb 15 PHP
第六章 php目录与文件操作
Dec 30 PHP
php在文件指定行中写入代码的方法
May 23 PHP
配置php网页显示各种语法错误
Sep 23 PHP
PHP使用range协议实现输出文件断点续传代码实例
Jul 04 PHP
实例介绍PHP的Reflection反射机制
Aug 05 PHP
php批量添加数据与批量更新数据的实现方法
Dec 16 PHP
php中magic_quotes_gpc对unserialize的影响分析
Dec 16 PHP
解决微信授权回调页面域名只能设置一个的问题
Dec 11 PHP
php如何利用pecl安装mongodb扩展详解
Jan 09 PHP
laravel 实现设置时区的简单方法
Oct 10 PHP
laravel5.6 框架操作数据 Eloquent ORM用法示例
Jan 26 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
模拟SQLSERVER的两个函数:dateadd(),datediff()
2006/10/09 PHP
PHP网站备份程序代码分享
2011/06/10 PHP
初识laravel5
2015/03/02 PHP
php商品对比功能代码分享
2015/09/24 PHP
php 无限级分类 获取顶级分类ID
2016/03/13 PHP
一个简单的php路由类
2016/05/29 PHP
PHP实现一个按钮点击上传多个图片操作示例
2020/01/23 PHP
从JavaScript的函数重名看其初始化方式
2007/03/08 Javascript
JavaScript 通过模式匹配实现重载
2010/08/12 Javascript
如何将一个String和多个String值进行比较思路分析
2013/04/22 Javascript
js判断字符是否是汉字的两种方法小结
2014/01/03 Javascript
JavaScript中的boolean布尔值使用学习及相关技巧讲解
2016/05/26 Javascript
JS简单实现DIV相对于浏览器固定位置不变的方法
2016/06/17 Javascript
angularJS模态框$modal实例代码
2017/05/27 Javascript
基于Vue过渡状态实例讲解
2017/09/14 Javascript
echarts饼图扇区添加点击事件的实例
2017/10/16 Javascript
Vue中正确使用jQuery的方法
2017/10/30 jQuery
bootstrap响应式导航条模板使用详解(含下拉菜单,弹出框)
2017/11/17 Javascript
uin-app+mockjs实现本地数据模拟
2020/08/26 Javascript
[37:03]完美世界DOTA2联赛PWL S3 INK ICE vs GXR 第二场 12.16
2020/12/18 DOTA
Python 文件和输入输出小结
2013/10/09 Python
零基础写python爬虫之使用Scrapy框架编写爬虫
2014/11/07 Python
python单例模式的多种实现方法
2019/07/26 Python
python 数据提取及拆分的实现代码
2019/08/26 Python
python 基于opencv实现高斯平滑
2020/12/18 Python
美国顶级水上运动专业店:Marine Products
2018/04/15 全球购物
德国旅行、体验和活动的预订平台:Watado
2019/12/04 全球购物
公司营业员的工作总结自我评价
2013/10/05 职场文书
爱护公共设施倡议书
2014/08/29 职场文书
县政协领导班子群众路线教育实践活动四风问题整改方案
2014/10/26 职场文书
初中优秀学生评语
2014/12/29 职场文书
市场部岗位职责范本
2015/04/15 职场文书
2015年库房管理工作总结
2015/10/14 职场文书
导游词之南昌滕王阁
2019/11/29 职场文书
聊聊Python中关于a=[[]]*3的反思
2021/06/02 Python
Windows下用Nginx配置https服务器及反向代理的问题
2021/09/25 Servers