在PHP中使用redis
2015-01-24信息快讯网
这里是在Mac OS上安装redis,并在PHP中开启redis。
在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
Codeigniter出现错误提示Error with CACHE directory的解决方案
使用PHP函数scandir排除特定目录
Codeigniter中禁止A Database Error Occurred错误提示的方法
PHP读取RSS(Feed)简单实例
PHP微框架Dispatch简介
CI框架中集成CKEditor编辑器的教程
使用php批量删除数据库下所有前缀为prefix_的表
IIS6.0 开启Gzip方法及PHP Gzip函数分享
php 批量添加多行文本框textarea一行一个
php 伪静态之IIS篇
PHP is_subclass_of函数的一个BUG和解决方法
php_screw安装使用教程(另一个PHP代码加密实现)
php中$美元符号与Zen Coding冲突问题解决方法分享
浅谈discuz密码加密的方式
dedecms函数分享之获取某一栏目所有子栏目
PHP异常Parse error: syntax error, unexpected T_VAR错误解决方法
php Session存储到Redis的方法
6种php上传图片重命名的方法实例
php preg_replace替换实例讲解
在PHP上显示JFreechart画的统计图方法
FireFox浏览器使用Javascript上传大文件
is_uploaded_file函数引发的不能上传文件问题
PHP的构造方法,析构方法和this关键字详细介绍
PHP中include与require使用方法区别详解
div li的多行多列 无刷新分页示例代码
php mysql_real_escape_string函数用法与实例教程
Zend studio文件注释模板设置方法
分享下PHP register_globals 值为on与off的理解
完美解决PHP中的Cannot modify header information 问题
Zend Studio 实用快捷键一览表(精心整理)
解析isset与is_null的区别
IIS6.0中配置php服务全过程解析
ueditor 1.2.6 使用方法说明
如何解决CI框架的Disallowed Key Characters错误提示
浅析php面向对象public private protected 访问修饰符
关于使用key/value数据库redis和TTSERVER的心得体会