安装 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 了。

  1. 下载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 扩展相关推荐

  1. Redis 编译安装 基础命令 服务优化 持久化

    Redis Redis 基础 编译安装 Redis(来吧!展示!!) 基础命令!! Redis 数据持久化 RBD 配置文件展示 AOF 配置文件展示 Redis 性能管理 内存碎片率 内存使用率 回 ...

  2. 最新版本Redis:Redis 7.0 安装使用,编译安装Redis,Redis使用场景-2022年最新Redis图解安装

    最新版本Redis:Redis 7.0 安装使用,编译安装Redis,Redis使用场景. 本章主要目标: 1.Redis介绍 2.下载Redis,编译安装Redis 3.启动Redis使用 4.Re ...

  3. Redis安装整理(window平台) +php扩展redis

    window平台Redis安装 redis windows安装文件下载地址:http://code.google.com/p/servicestack/wiki/RedisWindowsDownloa ...

  4. 伍哥原创之安装nginx,mysql,php-fpm,redis

    为什么80%的码农都做不了架构师?>>>    [伍哥原创] v1.0 2012-6-4 初稿 v1.1 2012-6-5 更新,增加php-redis模块的编译安装 [正文] 本文 ...

  5. mac xampp redis php,MAC XAMPP 整合使用Redis 及 安装php redis扩展

    (环境: MAC + XAMPP + redis) [本期概要:] 1.安装整合的准备工作 2.Redis服务的安装 3.PHP Redis扩展的安装 4.整合调试 复制代码 一.准备工作 1.安装 ...

  6. Redis基础,Linux下安装Redis和hredis,C++调用Redis,Redis中字符串设计

    文章目录 一.Redis是什么 Redis架构 Redis优势 Redis应用场景 二.Linux下载安装Redis(Ubuntu系统) 了解Redis版本 在线安装Redis 启动Redis服务端 ...

  7. Redis 笔记(01)— 安装、启动配置、开启远程连接、设置密码、远程连接

    1. Redis 简介 1月份将 <Redis入门指南>过了一遍,现将 Redis 五大类型的常用命令做一总结,留着后续备用. Redis 是 RemoteDictionary Serve ...

  8. linux 安装redis4.0.6,Redis(4.0.6)在Linux(CentOS7)下的安装

    构建 Redis redis 目前没有官方 RPM 安装包,需要从源代码编译,编译需要安装 Make 和 GCC. yum install gcc make 从官网下载 tar 压缩包. curl h ...

  9. CentOS 7 Redis 3.2.8的安装和使用

    2019独角兽企业重金招聘Python工程师标准>>> 关闭防火墙: [root@i-monp50cn ~]# systemctl stop firewalld.service #停 ...

  10. redis在Linux上的安装

    1.redis在Linux上的安装 1)安装redis编译的c环境,yum install gcc-c++ 2)将redis-2.6.16.tar.gz上传到Linux系统中 3)解压到/usr/lo ...

最新文章

  1. 46 岁美国华裔“鞋王”意外去世,25 岁创业成亿万富翁
  2. Node - 异步IO和事件循环
  3. Java JDBC连接SQL Server2005错误:通过端口 1433 连接到主机 localhost 的 TCP/IP 连接失败...
  4. 错误解决 :Microsoft Visual C++ 14.0 is require Microsoft Visual C++ Builder 包丢失或者损坏
  5. 【前端模块】HTML5标签
  6. 非归档下oracle的备份和恢复
  7. Java并发篇_进程线程
  8. dw二级联动下拉菜单插件 宋君墨_Excel实例——一级、二级、多级下拉菜单一次讲透...
  9. 学python后到底能干什么-学会Python后都能做什么?网友们的回答简直不要太厉害...
  10. 在.NET 对XML的一些基本操作
  11. 【课本】【No.5】大数定律和中心极限定律的理解
  12. 关于Idea模块化部署web项目,Web Resource Directories作用
  13. mybatis order by concat用法
  14. CSS 让元素内子元素翻转排序
  15. 钉钉开放平台查询宜搭表单实例数据
  16. UVALive 4850 Installations——思维
  17. 嵌入式:Altium Designer18提升速度的操作(画开发板笔记)
  18. Tomcat和Was服务器中文乱码问题总结
  19. MySQL COUNT(*) 和 COUNT(1) 比较
  20. 蜂鸣器的结构原理及制作

热门文章

  1. unit英语读音_7款超好玩的英语启蒙APP,假期在家教娃So Easy
  2. 图形驱动程序和显卡驱动什么区别_科普:游戏显卡和专业图形显卡存在的区别...
  3. openwrt 19 overlay 空间不足_【邯郸】2020年度市级科技企业孵化器和众创空间拟认定名单公示...
  4. python如何创建模块视频_Python | 如何创建模块(模块示例)?
  5. vue调用手机相机相册_移动端vue调用照相机及相册
  6. python/c++计算psnr
  7. Win10+VSCode搭建opencv+C++环境(2)
  8. [Unity]导入插件出现编译错误的解决办法:在工程关闭时重新添加一次插件
  9. 原生Javascript 操作 css类名 - 踩坑篇
  10. 自旋锁 Linux内核,Linux内核中的自旋锁