在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安装攻略:常见问题解答(一)
Oct 09 PHP
PHP Socket 编程
Apr 09 PHP
php Smarty 字符比较代码
Feb 27 PHP
简单的PHP缓存设计实现代码
Sep 30 PHP
解析PHP对现有搜索引擎的调用
Jun 25 PHP
PHP开发中常见的安全问题详解和解决方法(如Sql注入、CSRF、Xss、CC等)
Apr 21 PHP
php上传中文文件名乱码问题处理方案
Feb 03 PHP
Ubuntu server 11.04安装memcache及php使用memcache来存储session的方法
May 31 PHP
微信公众号开发之语音消息识别php代码
Aug 08 PHP
PHP二维数组去重算法
Dec 17 PHP
php利用ob_start()清除输出和选择性输出的方法
Jan 18 PHP
php设计模式之原型模式分析【星际争霸游戏案例】
Mar 23 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列出一个目录下的所有文件的代码
2012/10/09 PHP
php/JS实现的生成随机密码(验证码)功能示例
2019/06/06 PHP
统计jQuery中各字符串出现次数的工具
2012/05/03 Javascript
js遍历、动态的添加数据的小例子
2013/06/22 Javascript
解决css和js的{}与smarty定界符冲突问题的两种方法
2013/09/10 Javascript
jquery为页面增加快捷键示例
2014/01/31 Javascript
JavaScript-RegExp对象只能使用一次问题解决方法
2014/06/23 Javascript
深入探讨javascript中的数据类型
2015/03/04 Javascript
JS模拟并美化的表单控件完整实例
2015/08/19 Javascript
Jquery实现仿京东商城省市联动菜单
2015/11/19 Javascript
实例详解JavaScript获取链接参数的方法
2016/01/01 Javascript
JQuery 两种方法解决刚创建的元素遍历不到的问题
2016/04/13 Javascript
原生javascript 学习之js变量全面了解
2016/07/14 Javascript
微信小程序登录按钮遮罩浮层效果的实现方法
2018/12/16 Javascript
Vue中登录验证成功后保存token,并每次请求携带并验证token操作
2020/09/08 Javascript
python dataframe 输出结果整行显示的方法
2018/06/14 Python
Python将列表数据写入文件(txt, csv,excel)
2019/04/03 Python
Pandas DataFrame数据的更改、插入新增的列和行的方法
2019/06/25 Python
python实现批量修改服务器密码的方法
2019/08/13 Python
pandas map(),apply(),applymap()区别解析
2021/02/24 Python
CSS3 RGBA色彩模式使用实例讲解
2016/04/26 HTML / CSS
html5本地存储 localStorage操作使用详解
2016/09/20 HTML / CSS
联想新加坡官方网站:Lenovo Singapore
2017/10/24 全球购物
罗兰·穆雷官网:Roland Mouret
2018/09/28 全球购物
英国电视和家用电器购物网站:rlrdistribution.co.uk
2018/11/20 全球购物
网络编程中设计并发服务器,使用多进程与多线程,请问有什么区别?
2016/03/27 面试题
化学教师教学反思
2014/01/17 职场文书
《九寨沟》教学反思
2014/04/08 职场文书
读书小明星事迹材料
2014/05/03 职场文书
师德模范事迹材料
2014/06/03 职场文书
争当四好少年演讲稿
2014/09/13 职场文书
赢在执行观后感
2015/06/16 职场文书
利用Selenium添加cookie实现自动登录的示例代码(fofa)
2021/05/08 Python
Python 中random 库的详细使用
2021/06/03 Python
聊聊Lombok中的@Builder注解使用教程
2021/11/17 Java/Android
GoFrame gredis缓存DoVar Conn连接对象 自动序列化GoFrame gredisDo/DoVar方法Conn连接对象自动序列化/反序列化总结
2022/06/14 Golang