• thinkphp5 扩展redis Linux搭建redis php搭建redis


    thinkphp5 扩展redis Linux搭建redis php搭建redis

    第一步:Linux搭建redis

    新人小白,在自己服务器上想搭个redis玩玩,百度到了一堆坑。搭建redis需linux服务器安装redis(百度的方法大部分都是win下)
    下面附教程。亲测(以下文章自己测试后细节讲解)

    1.下载地址:wget http://download.redis.io/releases/redis-4.0.8.tar.gz

    [root@localhostredis]#wget http://download.redis.io/releases/redis-4.0.8.tar.gz (地址若失效请更换)
    在这里插入图片描述
    2.解压:[root@localhost redis]# tar xzf redis-4.0.8.tar.gz
    在这里插入图片描述
    3.重命名(凭个人习惯,可省略)

    [root@localhost redis]# mv redis-4.0.8 redis4.在这里插入图片描述
    4.进入目录 cd redis
    在这里插入图片描述
    5.安装:使用make命令

    [root@localhost redis]# sudo make && sudo make install

    等待安装完成。

    6.运行:[root@localhost redis]# src/redis-server 需要在redis的安装目录下执行命令(cd redis)。
    在这里插入图片描述
    7.看到这个画面说明redis已经搭建起来了。但是这个并不是在后台运行redis,所以当命令行界面关闭的时候,就会失去链接,所以为了方便,我们需要将他配置为后台运行

    编辑配置文件:vim redis.conf redis.conf就在当前目录下。将daemonize=no改为daemonize=yes 然后保存。(编辑完保存退出(esc然后输入:eq 或者esc+shift+z+z))
    在这里插入图片描述
    8.将redis加入到开机启动(这步原文没有,凭个人习惯,设置redis开机自动启动)

    vi /etc/rc.local (打开开机启动项然后添加一下命令)
      /usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf (意思就是开机调用这段开启redis的命令)
      
    9.然后启动(原文启动方式在我主机上不好使。以下是原文启动和我的启动)
    原文启动:[root@localhost redis]# src/redis-server ./redis/conf
    本人主机启动:[root@localhost redis]# /usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf

    这个时候我们的redis服务段就已经后台运行了。
    在这里插入图片描述

    10.然后启动客户端:

    src/redis-cli (启动客户端)
    在这里插入图片描述
    到这步linux服务器上安装好了redis了。下面开始php扩展redis

    第二步:php搭建redis

    这时候需要php也扩展redis才可使用,开始第二步。

    *下载phpredis扩展

    下载地址:https://github.com/nicolasff/phpredis/archive/4.0.1.tar.gz

    1.执行命令:
    [root@localhost local]# wget https://github.com/nicolasff/phpredis/archive/4.0.1.tar.gz
    在这里插入图片描述

    2.解压并进入:tar zxvf

    [root@localhost local]# tar zxvf 4.0.1.tar.gz
    在这里插入图片描述
    3.执行phpize

    [root@localhost phpredis]# /usr/local/php5/bin/phpize 注: 这个是根据自己实际的路径进入,本人是宝塔面板,地址是/www/server/php/72/bin/phpize。实际情况请自己查看位置
    在这里插入图片描述
    4.指定php配置路径:

    [root@localhost phpredis]# ./configure --with-php-config=/usr/local/php5/bin/php-config 注: 这个是根据自己实际的路径进入,本人是宝塔面板,地址是/www/server/php/72/bin/php-config。实际情况请自己查看位置
    在这里插入图片描述
    5.编译安装:sudo make && sudo make install

    执行命令:[root@localhost phpredis]# sudo make && make install
    在这里插入图片描述
    6.将扩展加入php配置文件php.ini中 php.ini的路径是你自己环境的路径

    [root@localhost phpredis]# vim /etc/php/php.ini :打开php.ini也要自己的实际位置

    在里面加入一行:/usr/local/php5/lib/php/extensions/no-debug-non-zts-20090626/redis.so 注: 这个是根据自己实际的路径进入,本人是宝塔面板,地址是/www/server/php/72/lib/php/extensions/no-debug-non-zts-20090626/redis.so 。实际情况请自己查看位置
    在这里插入图片描述
    7.然后保存,重启php

    ps -ef | grep php-fpm

    Kill -quit 进程号

    启动php:

    /usr/local/php5/sbin/php-fpm

    然后在phpinfo()中查看redis扩展:

    在这里插入图片描述
    到这里第二步也完成了。

    第三步 thinkPHP5 里使用redis

    1.打开config.php

    	    'cache' =>  [
        // 使用复合缓存类型
        'type'  =>  'complex',
        // 默认使用的缓存
        'default'   =>  [
            // 驱动方式
            'type'   => 'File',
            // 缓存保存目录
            'path'   => CACHE_PATH,
        ],
        // 文件缓存
        'file'   =>  [
            // 驱动方式
            'type'   => 'file',
            // 设置不同的缓存保存目录
            'path'   => RUNTIME_PATH . 'file/',
        ],
        // redis缓存
        'redis'   =>  [
            // 驱动方式
            'type'   =>'Redis',
    
            'host'   => '127.0.0.1',
    
            'port'   => '6379',
    
            'password' => '',
    
            'timeout'=> 3600
        ],
    ],
    
    • 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

    配置cache的redis方式。

    2.测试redis

    use thinkcachedriverRedis;
    public function redis()
        {
    
        $redis = new Redis();
       $redis->set('demo','123456');
        dump($redis->get('demo'));
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    在这里插入图片描述
    new Redis(),实例一个redis。本人看了tp5的redis方法,内置的函数仅有set和get,仅能操作字符串,redis的五大类型需要自己扩展方法。当然也可在tp5里直接使用。

    第一种:handler();使用这个方法可以直接调用redis的自带函数。如del(删除字符串),append(后位添加字符串)

     $redis = new Redis();
     $redis->handler()->append('demo','    bbbj47848487bbbb');
    
    • 1
    • 2

    ![在这里插入图片描述](https://img-blog.csdnimg.cn/20191123131154356.png

    第二种,自己封装方法。
    打开think/libray/think/cache/driver/redis.php文件
    在最后封装自己的方法(其实也是调用handler)

    /**
     * 删除字符串
     */
    public function del($name)
    {
      $redis->handler()->del(¥name);
    
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    这时客户端可以这样调用

    $redis = new Redis();
    $redis->del('demo');
    dump($redis->get('demo'));
    
    • 1
    • 2
    • 3

    在这里插入图片描述
    这时候已经删除了demo字符串,在获取会返回false。
    如果不进行封装,删除需要使用$redis->handler()->del(‘demo’);
    本文本人亲测。绝对真实

  • 相关阅读:
    史上最全计算机网络大纲
    vue的生命周期
    asp.net毕业设计家电维修保养信息系统
    两天两夜,1M图片优化到100kb!
    TikTok整合谷歌搜索功能,探索新的流量入口
    计算机毕设(附源码)JAVA-SSM基于的楼盘销售系统的设计与实现
    【Spring】aop的底层原理
    国外访问学者申请政策解析
    Flutter 状态管理新境界:多Provider并行驱动UI
    数据通信网络之IPv6静态路由
  • 原文地址:https://blog.csdn.net/web13985085406/article/details/126516710