在PHP中使用redis

yipeiwu_com6年前PHP代码库

在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动态传数据到highcharts

通过php动态传数据到highcharts

1:在平时工作中,在对数据进行展示的时候,是直接通过后台提供的接口来获取json串,用来展示。今天别人问怎么在本地演示一下请求的动态数据。 2:在本地搭建环境,我用的WampServer...

php使用Imagick生成图片的方法

本文实例讲述了php使用Imagick生成图片的方法。分享给大家供大家参考。具体如下: 这里使用Imagick 生成图片 解决了图片写中文文字乱码问题,添加支持的字体 public...

利用“多说”制作留言板、评论系统

利用“多说”制作留言板、评论系统

留言板和评论系统在网站建设中会经常用到,今天为大家介绍如何利用多说来为自己的网站制作留言板、评论系统!注意以下只是介绍一下简单的创建设置,更多功能大家可以自己去探索! 1、进入多说网站...

Ubuntu下安装PHP的mongodb扩展操作命令

在 https://pecl.php.net/package/mongo 下载 PHP的mongodb扩展的源码 复制代码 代码如下: $ wget -c https://pecl.ph...

php中session退出登陆问题

在php中,如果使用的session来判断用户是否登陆,退出时,则可以如此: session_start();session_destroy(); 会话即表示已经结束。下一句话应该写js...