phpredis -- Redis编译安装,PHP 7 安装 Redis 扩展
安装 Redis Server
redis的官方网站是:http://redis.io/
目前的最新稳定版是 3.2版。
下载redis
1
2
3
4
|
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 就安装好了。
配置环境变量
1
2
3
4
5
|
cat > /etc/profile .d /redis .sh << EOF
export REDIS_HOME= /usr/local/redis
export PATH=\$PATH:\$REDIS_HOME /bin '
EOF
. /etc/profile
|
配置 redis.conf
1
2
3
4
5
6
|
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
|
1
2
3
4
5
6
7
8
|
//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的服务脚本
1
2
3
4
5
6
7
|
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
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
|
#!/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的分支
1
2
3
|
git clone https: //github .com /phpredis/phpredis .git
// 将远程项目代码克隆到本地
cd phpredis
|
我们查看下代码分支结构
可以看到远程分支上有一个 php7 的分支,这个就是单独支持PHP 7的phpredis扩展
1
2
3
4
|
git checkout -b php7 origin /php7
// 我们本地创建php7分支,其实节点为远程的php7分支
git branch
// 这就可以看到我们目前处在新创建的 php7 分支上
|
ps:如果有人对命令提示符上面的[>php7] 分支提示感兴趣的话,可以浏览我之前的文章:个性定制你的 Git 命令行提示符 http://professor.blog.51cto.com/996189/1737500
2.开始编译phpredis扩展
1
2
3
4
5
6
7
|
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配置文件
1
2
3
4
5
6
|
vim /usr/local/php7/lib/php .ini
extention= "redis.so"
// 添加这一行扩展配置
php -a
>phpinfo();
// 检查是否有redis的相关信息
|
1
2
|
service php-fpm restart
// 重启php-fpm服务
|
4.测试扩展库是否正常运行
1
|
php tests /TestRedis .php --class Redis
|
1
|
php tests /TestRedis .php --class Redis -- test echo
|
正常情况下,应该是如图的反馈信息。
到此,phpredis 就安装完成了,所以最关键的一步就是 PHP 7 安装redis扩展库是需要在本地切换分支节点的。
5. phpredis 基本用法
测试连接
1
2
3
4
5
|
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
|
列表操作
1
2
3
4
5
6
7
8
9
10
|
<?php
$redis = new Redis();
echo ( $redis -> 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 ));
?>
|
1
2
|
redis is connected!
[ "book" , "redis_item2" , "redis_item1" , "cup" ]
|
字符串操作
1
2
3
4
5
6
7
8
9
10
|
<?php
$redis = new Redis();
echo ( $redis -> 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" );
?>
|
1
2
|
redis is connected!
world
|
获取redis中所有键
1
2
3
4
5
|
<?php
$redis = new Redis();
echo ( $redis -> connect( "127.0.0.1" , 6379) ? "redis is connected!\n" : "redis connect fail\n" );
print_r( $redis -> keys( "*" ));
?>
|
1
2
3
4
5
6
7
8
9
10
11
12
13
|
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编译安装,PHP 7 安装 Redis 扩展相关推荐
- Redis 编译安装 基础命令 服务优化 持久化
Redis Redis 基础 编译安装 Redis(来吧!展示!!) 基础命令!! Redis 数据持久化 RBD 配置文件展示 AOF 配置文件展示 Redis 性能管理 内存碎片率 内存使用率 回 ...
- 最新版本Redis:Redis 7.0 安装使用,编译安装Redis,Redis使用场景-2022年最新Redis图解安装
最新版本Redis:Redis 7.0 安装使用,编译安装Redis,Redis使用场景. 本章主要目标: 1.Redis介绍 2.下载Redis,编译安装Redis 3.启动Redis使用 4.Re ...
- Redis安装整理(window平台) +php扩展redis
window平台Redis安装 redis windows安装文件下载地址:http://code.google.com/p/servicestack/wiki/RedisWindowsDownloa ...
- 伍哥原创之安装nginx,mysql,php-fpm,redis
为什么80%的码农都做不了架构师?>>> [伍哥原创] v1.0 2012-6-4 初稿 v1.1 2012-6-5 更新,增加php-redis模块的编译安装 [正文] 本文 ...
- mac xampp redis php,MAC XAMPP 整合使用Redis 及 安装php redis扩展
(环境: MAC + XAMPP + redis) [本期概要:] 1.安装整合的准备工作 2.Redis服务的安装 3.PHP Redis扩展的安装 4.整合调试 复制代码 一.准备工作 1.安装 ...
- Redis基础,Linux下安装Redis和hredis,C++调用Redis,Redis中字符串设计
文章目录 一.Redis是什么 Redis架构 Redis优势 Redis应用场景 二.Linux下载安装Redis(Ubuntu系统) 了解Redis版本 在线安装Redis 启动Redis服务端 ...
- Redis 笔记(01)— 安装、启动配置、开启远程连接、设置密码、远程连接
1. Redis 简介 1月份将 <Redis入门指南>过了一遍,现将 Redis 五大类型的常用命令做一总结,留着后续备用. Redis 是 RemoteDictionary Serve ...
- linux 安装redis4.0.6,Redis(4.0.6)在Linux(CentOS7)下的安装
构建 Redis redis 目前没有官方 RPM 安装包,需要从源代码编译,编译需要安装 Make 和 GCC. yum install gcc make 从官网下载 tar 压缩包. curl h ...
- CentOS 7 Redis 3.2.8的安装和使用
2019独角兽企业重金招聘Python工程师标准>>> 关闭防火墙: [root@i-monp50cn ~]# systemctl stop firewalld.service #停 ...
- redis在Linux上的安装
1.redis在Linux上的安装 1)安装redis编译的c环境,yum install gcc-c++ 2)将redis-2.6.16.tar.gz上传到Linux系统中 3)解压到/usr/lo ...
最新文章
- 46 岁美国华裔“鞋王”意外去世,25 岁创业成亿万富翁
- Node - 异步IO和事件循环
- Java JDBC连接SQL Server2005错误:通过端口 1433 连接到主机 localhost 的 TCP/IP 连接失败...
- 错误解决 :Microsoft Visual C++ 14.0 is require Microsoft Visual C++ Builder 包丢失或者损坏
- 【前端模块】HTML5标签
- 非归档下oracle的备份和恢复
- Java并发篇_进程线程
- dw二级联动下拉菜单插件 宋君墨_Excel实例——一级、二级、多级下拉菜单一次讲透...
- 学python后到底能干什么-学会Python后都能做什么?网友们的回答简直不要太厉害...
- 在.NET 对XML的一些基本操作
- 【课本】【No.5】大数定律和中心极限定律的理解
- 关于Idea模块化部署web项目,Web Resource Directories作用
- mybatis order by concat用法
- CSS 让元素内子元素翻转排序
- 钉钉开放平台查询宜搭表单实例数据
- UVALive 4850 Installations——思维
- 嵌入式:Altium Designer18提升速度的操作(画开发板笔记)
- Tomcat和Was服务器中文乱码问题总结
- MySQL COUNT(*) 和 COUNT(1) 比较
- 蜂鸣器的结构原理及制作
热门文章
- unit英语读音_7款超好玩的英语启蒙APP,假期在家教娃So Easy
- 图形驱动程序和显卡驱动什么区别_科普:游戏显卡和专业图形显卡存在的区别...
- openwrt 19 overlay 空间不足_【邯郸】2020年度市级科技企业孵化器和众创空间拟认定名单公示...
- python如何创建模块视频_Python | 如何创建模块(模块示例)?
- vue调用手机相机相册_移动端vue调用照相机及相册
- python/c++计算psnr
- Win10+VSCode搭建opencv+C++环境(2)
- [Unity]导入插件出现编译错误的解决办法:在工程关闭时重新添加一次插件
- 原生Javascript 操作 css类名 - 踩坑篇
- 自旋锁 Linux内核,Linux内核中的自旋锁