PHP соединение с Redis - PullRequest
0 голосов
/ 19 мая 2018

Я использую phpredis для подключения к серверу Redis (https://github.com/phpredis/phpredis).. Я написал очень простой клиент Redis для своего приложения, который должен просто принимать параметры env и подключаться к серверу Redis. Мой клиент Redis выглядит следующим образом:

<?php

use \Redis

class Redis
{
    /** @var Redis */
    private $redis;


    /**
     * @param RedisServer $redis
     * @param string $redisHost
     * @param string $redisPort
     */
      public function __construct(RedisServer $redis, string $redisHost, string $redisPort)
      {
          $this->redis = $redis;
          if (!$this->redis->connect($redisHost, $redisPort)) {
              throw new ConnectionException('Failed to connection to redis server', 500);
          }
      }

      /**
       * Close connection when Redis service is destroyed
       */
      public function __destruct()
      {
          $this->redis->close();
          $this->redis = null;
      }

      //....

}

Нужно ли явно закрывать соединение Redis в __destruct ()?

Заранее спасибо!

1 Ответ

0 голосов
/ 20 мая 2018

ты мой мужчина :) Да и нет!использование __destruct () - это безопасный способ сохранить (как в java), чтобы закрыть / закрыть соединение.в PHP это работает по-другому.удаленные соединения (например, db, fs ...) будут закрыты до вызова пользовательского деструктора.Но на будущее: так держать!Это правильный путь, и «загрузка» не является узким местом, но:)

...