在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 相关文章推荐
一个从别的网站抓取信息的例子(域名查询)
Oct 09 PHP
用header 发送cookie的php代码
Mar 16 PHP
常用的php ADODB使用方法集锦
Mar 25 PHP
php面向对象全攻略 (五) 封装性
Sep 30 PHP
关于初学PHP时的知识积累总结
Jun 07 PHP
PHP Class&amp;Object -- PHP 自排序二叉树的深入解析
Jun 25 PHP
codeigniter中测试通过的分页类示例
Apr 17 PHP
PHP列出MySQL中所有数据库的方法
Mar 12 PHP
[原创]解决wincache不支持64位PHP5.5/5.6的问题(提供64位wincache下载)
Jun 22 PHP
php实现的SSO单点登录系统接入功能示例分析
Oct 12 PHP
laravel config文件配置全局变量的例子
Oct 13 PHP
php实现简易计算器
Aug 28 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
探讨:web上存漏洞及原理分析、防范方法
2013/06/29 PHP
php5.5中类级别的常量使用介绍
2013/10/02 PHP
php递归删除目录下的文件但保留的实例分享
2014/05/10 PHP
PHP处理postfix邮件内容的方法
2015/06/16 PHP
PHP+redis实现添加处理投票的方法
2015/11/14 PHP
几行代码轻松实现PHP文件打包下载zip
2017/03/01 PHP
源码分析 Laravel 重复执行同一个队列任务的原因
2017/12/25 PHP
中文路径导致unitpngfix.js不正常的解决方法
2013/06/26 Javascript
js 设置缓存及获取设置的缓存
2014/05/08 Javascript
JS组件中bootstrap multiselect两大组件较量
2016/01/26 Javascript
JS导出PDF插件的方法(支持中文、图片使用路径)
2016/07/12 Javascript
ExtJS 4.2 Grid组件单元格合并的方法
2016/10/12 Javascript
详解使用grunt完成requirejs的合并压缩和js文件的版本控制
2017/03/02 Javascript
node.js 利用流实现读写同步,边读边写的方法
2017/09/11 Javascript
利用javascript如何随机生成一定位数的密码
2017/09/22 Javascript
微信jssdk逻辑在vue中的运用详解
2018/11/14 Javascript
js实现黑白div块画空心的图形
2018/12/13 Javascript
JS开发常用工具函数(小结)
2019/07/04 Javascript
layui数据表格实现重载数据表格功能(搜索功能)
2019/07/27 Javascript
vue之组件内监控$store中定义变量的变化详解
2019/11/08 Javascript
javascript实现获取中文汉字拼音首字母
2020/05/19 Javascript
JavaScript位置参数实现原理及过程解析
2020/09/14 Javascript
[48:29]2018DOTA2亚洲邀请赛3月30日 小组赛A组 LGD VS KG
2018/03/31 DOTA
Python实战小程序利用matplotlib模块画图代码分享
2017/12/09 Python
Django基础知识与基本应用入门教程
2018/07/20 Python
Python3实现定时任务的四种方式
2019/06/03 Python
python、Matlab求定积分的实现
2019/11/20 Python
Python加载数据的5种不同方式(收藏)
2020/11/13 Python
基于Python中Remove函数的用法讨论
2020/12/11 Python
NIHAOMARKET官方海外旗舰店:意大利你好华人超市
2018/01/27 全球购物
北承题目(C++)
2012/05/16 面试题
关于母亲节的感言
2014/02/04 职场文书
党员学习群众路线心得体会
2014/11/04 职场文书
地球一小时活动总结
2015/02/27 职场文书
Python中seaborn库之countplot的数据可视化使用
2021/06/11 Python
深入理解go缓存库freecache的使用
2022/02/15 Golang