安装 redis Server
成都创新互联公司是一家专业提供屯溪企业网站建设,专注与成都做网站、成都网站设计、成都外贸网站建设、成都h5网站建设、小程序制作等业务。10年已为屯溪众多企业、政府机构等服务。创新互联专业网络公司优惠进行中。
redis的官方网站是:http://redis.io/
目前的最新稳定版是 3.2版。
下载redis
wget http://download.redis.io/releases/redis-3.2.3.tar.gz tar xf redis-3.2.3.tar.gz cd redis-3.2.3 make PREFIX=/usr/local/redis install
没有报错的话,redis 就安装好了。
配置环境变量
cat > /etc/profile.d/redis.sh << EOF export REDIS_HOME=/usr/local/redis export PATH=\$PATH:\$REDIS_HOME/bin' EOF . /etc/profile
配置 redis.conf
cd redis-3.2.3 // 进入redis 源码包目录 mkdir /usr/local/redis/etc/ cp redis.conf /usr/local/redis/etc/ cd /usr/local/redis/etc/ vim redis.conf
//redis.conf daemonize yes pidfile /var/run/redis/redis.pid port 6379 tcp-backlog 128 // tcp队列长度,默认为512,CentOS系统默认为128,此值不应该大于操作系统的该值 logfile "/var/log/redis/redis.log" dir /var/redisdb // redis数据存储目录 // 其他参数目前就不需要了
配置redis的服务脚本
useradd -r -s /sbin/nologin -M redis mkdir /var/run/redis mkdir /var/log/redis mkdir /var/redisdb chown redis:redis /var/run/redis chown redis:redis /var/log/redis chown redis:redis /var/redisdb
#!/bin/sh
#
# chkconfig: 35 84 16
# Simple Redis init.d script conceived to work on Linux systems
# as it does use of the /proc filesystem.
. /etc/rc.d/init.d/functions
. /etc/sysconfig/network
[ "$NETWORKING" = "no" ] && exit 0
BASEDIR=/usr/local/redis
EXEC=$BASEDIR/bin/redis-server
CLIEXEC=$BASEDIR/bin/redis-cli
REDIS_USER=redis
PIDFILE=/var/run/redis/redis.pid
CONF_PATH="$BASEDIR/etc/redis.conf"
REDISPORT=$(grep -P "^port\b.*$" $CONF_PATH | awk '{print $2}')
function start() {
if [ -f $PIDFILE ]
then
echo "$PIDFILE exists, process is already running or crashed"
else
echo -n "Starting `basename $EXEC` ."
daemon --user=$REDIS_USER --pidfile=$PIDFILE $EXEC $CONF_PATH
while [ ! -d /proc/$(cat $PIDFILE 2> /dev/null) ]
do
sleep 1
echo -n "."
done
echo
fi
}
function stop() {
if [ ! -f $PIDFILE ]
then
echo -n "$PIDFILE does not exist, prog not running"
echo_failure
echo ; sleep 1
return 1
else
#$CLIEXEC -p $REDISPORT shutdown
echo -n "Stopping `basename $EXEC` .."
killproc -p $PIDFILE $EXEC -TERM
while [ -f $PIDFILE ]
do
sleep 1
done
echo
fi
}
case "$1" in
start)
start
;;
stop)
stop
;;
status)
status -p $PIDFILE $EXEC
;;
restart)
stop
start
;;
*)
echo "Please use start or stop as first argument"
;;
esac前提是已经安装好 Redis 和 PHP7 了。
下载phpredis
phpredis项目的GitHub页面是 https://github.com/phpredis/phpredis
但是有个问题,php7 的redis扩展项目和php5的redis扩展项目代码并不通用,所以在phpredis项目下有个新的支持php7版本的分支,但是你默认clone的项目是停留在原版php5的项目中的,所以需要手动检出到php7的分支
git clone https://github.com/phpredis/phpredis.git //将远程项目代码克隆到本地 cd phpredis
我们查看下代码分支结构

可以看到远程分支上有一个 php7 的分支,这个就是单独支持PHP 7的phpredis扩展
git checkout -b php7 origin/php7 //我们本地创建php7分支,其实节点为远程的php7分支 git branch //这就可以看到我们目前处在新创建的 php7 分支上

ps:如果有人对命令提示符上面的[>php7] 分支提示感兴趣的话,可以浏览我之前的文章:个性定制你的 Git 命令行提示符 http://professor.blog.51cto.com/996189/1737500
2.开始编译phpredis扩展
phpize //检查php扩展 ./configure --with-php-config=/usr/local/php7/bin/php-config //我这里是编译安装的PHP 7 所以需要手动指定php-config的路径 //如果你需要开启igbinary序列化支持的话,需要加上参数 --enable-redis-igbinary make make install
3.安装配置phpredis扩展
检查redis.so 库文件是否存在

修改php.ini配置文件
vim /usr/local/php7/lib/php.ini extention="redis.so" //添加这一行扩展配置 php -a >phpinfo(); //检查是否有redis的相关信息

service php-fpm restart //重启php-fpm服务
4.测试扩展库是否正常运行
php tests/TestRedis.php --class Redis

php tests/TestRedis.php --class Redis --test echo

正常情况下,应该是如图的反馈信息。
到此,phpredis 就安装完成了,所以最关键的一步就是 PHP 7 安装redis扩展库是需要在本地切换分支节点的。
5. phpredis 基本用法
测试连接
php > $redis = new Redis();
php > echo ($redis -> connect("127.0.0.1", 6379) ? "redis is connected!" : "redis connect fail");
redis is connected!
php > echo "redis response:" . $redis -> ping();
redis response:+PONG列表操作
connect("127.0.0.1", 6379) ? "redis is connected!\n" : "redis connect fail\n");
$redis -> lpush("test_key", "redis_item1");
$redis -> lpush("test_key", "redis_item2");
$redis -> lpush("test_key", "book");
$redis -> rpush("test_key", "cup");
$aList = $redis -> lrange("test_key", 0, -1);
print(json_encode($aList));
?>redis is connected! ["book","redis_item2","redis_item1","cup"]
字符串操作
pconnect("127.0.0.1", 6379) ? "redis is connected!\n" : "redis connect fail\n");
// pconnect长连接
$redis -> set("hello", "world");
echo $redis -> get("hello");
$redis -> del("hello");
echo $redis -> get("hello");
?>redis is connected! world
获取redis中所有键
connect("127.0.0.1", 6379) ? "redis is connected!\n" : "redis connect fail\n");
print_r($redis -> keys("*"));
?>redis is connected!
Array
(
[0] => test:{z}Inter
[1] => {list}lkey
[2] => {key}:9
[3] => {z}key1
......
[123] => k
[124] => {s}DiffDest
[125] => wait-bar
[126] => test:k1
)
名称栏目:phpredis--Redis编译安装,PHP7安装Redis扩展
浏览地址:http://www.jxjierui.cn/article/gpdesh.html


咨询
建站咨询
