您的浏览器过于古老 & 陈旧。为了更好的访问体验, 请 升级你的浏览器
j0785 发布于2022年12月14日 15:35 最近更新于 2022年12月14日 16:53

原创 Windows平台下使用Docker安装Hyperf框架,安装配置并连接Redis

1988 次浏览 读完需要≈ 8 分钟 WindowsDockerRedis

内容目录

  • Windows平台下使用Docker安装Hyperf框架,部署Hyperf项目
  • myhyperf容器加入到myredis(连接的Redis容器名)所在的myphp-net局域网

    docker network connect myphp-net myhyperf

  • 部署成功后,安装Redis客户端(notice:如果在安装Hyperf框架创建项目在Do you want to use Redis Client?选择的y则可以跳过这一步)

    • 进入容器并打开项目目录

      • docker exec -it myhyperf /bin/sh
      • cd /data/project/hyperf-skeleton
    • 安装Redis composer require hyperf/redis
  • 项目地址/hyperf-skeleton\config\autoload目录下添加一个redis.php文件,文件内容如下:

    <?php
    return [
        'default' => [
            'host' => env('REDIS_HOST', 'localhost'),
            'auth' => env('REDIS_AUTH', ''),
            'port' => (int) env('REDIS_PORT', 6379),
            'db' => (int) env('REDIS_DB', 0),
            'cluster' => [
                'enable' => (bool) env('REDIS_CLUSTER_ENABLE', false),
                'name' => null,
                'seeds' => [],
            ],
            'pool' => [
                'min_connections' => 1,
                'max_connections' => 10,
                'connect_timeout' => 10.0,
                'wait_timeout' => 3.0,
                'heartbeat' => -1,
                'max_idle_time' => (float) env('REDIS_MAX_IDLE_TIME', 60),
            ],
        ],
    ];
  • 在Redis客户端设置key1的值,使用Docker进入Redis客户端,查询设置redis数据
  • 项目目录\hyperf-skeleton\config目录下打开routes.php文件,添加路由配置:

    Router::addGroup('/index/',function (){
        Router::get('redis','App\Controller\IndexController@redis');
    });
  • 项目目录\hyperf-skeleton\app\Controller下找到IndexController.php文件,新增一个action 查询key1的值,文件内容修改如下:

    <?php
    declare(strict_types=1);
    namespace App\Controller;
    use Hyperf\Utils\ApplicationContext;//注意需要添加命名空间的引用
    
    class IndexController extends AbstractController
    {
       //其它代码
       public function redis()
        {
            $container = ApplicationContext::getContainer();
            $redis = $container->get(\Hyperf\Redis\Redis::class);
            $value = $redis->get('key1');
    
            return [
                'value' => $value,
            ];
        }
    }
  • 在浏览器内访问http://127.0.0.1:9502/index/redis,查看运行结果

  • CodePlayer技术交流群1
  • CodePlayer技术交流群2

0 条评论

撰写评论