Narzędzia użytkownika

Narzędzia witryny


redis_-_konfiguracja

Różnice

Różnice między wybraną wersją a wersją aktualną.

Odnośnik do tego porównania

Poprzednia rewizja po obu stronachPoprzednia wersja
Nowa wersja
Poprzednia wersja
redis_-_konfiguracja [2023/12/11 09:47] zbychredis_-_konfiguracja [2024/09/15 16:22] (aktualna) – edycja zewnętrzna 127.0.0.1
Linia 20: Linia 20:
 <code php> <code php>
 'components' => [ 'components' => [
-    // ... 
     'session' => [     'session' => [
         'class' => 'yii\redis\Session',         'class' => 'yii\redis\Session',
 +        'timeout' => 86400, // czas ważności w sekundach (np. 1 dzień)
         'redis' => [         'redis' => [
-            'hostname' => 'localhost', // Adres hosta Redis +            'hostname' => 'localhost', 
-            'port' => 6379,             // Numer portu Redis +            'port' => 6379, 
-            'database' => 0,            // Numer bazy danych Redis+            'database' => 0,
         ],         ],
     ],     ],
-    // ... 
 ], ],
 </code> </code>
 +
 +===== Konfiguracja awaryjna cache w Redis =====
 +Sposób konfiguracji badajacy czy Redis jest aktualnie dostępny.  
 +Jeśli nie cache przekierowywane jest do plików  
 +
 +common/main.php
 +<code php>
 +'components' => [
 +   
 +        'cache' => function () {
 +            $cache = new \yii\caching\FileCache();
 +            $connection = @fsockopen('localhost', 6379, $errorCode, $errorMsg, 1);
 +            if ($connection) {
 +                $cache = new  \yii\redis\Cache([
 +                    'redis' => [
 +                        'hostname' => 'localhost', // Adres hosta Redis
 +                        'port' => 6379, // Numer portu Redis
 +                        'database' => 0, // Numer bazy danych Redis
 +                    ],
 +                ]);
 +                fclose($connection);
 +            }
 +
 +            return \yii\di\Instance::ensure($cache, 'yii\caching\CacheInterface');
 +        },
 +        
 +        ...
 +</code>
 +
 +common/main-local.php
 +<code php>
 +'redis' => function () {
 +            // Sprawdzenie dostępności serwera Redis
 +            $connection = @fsockopen('localhost', 6379, $errorCode, $errorMsg, 1);
 +            if (!$connection) {
 +                return false;
 +            }
 +            fclose($connection);
 +
 +            // Zwróć skonfigurowany komponent Redis
 +            $red = new  \yii\redis\Cache([
 +                'redis' => [
 +                    'hostname' => 'localhost', // Adres hosta Redis
 +                    'port' => 6379, // Numer portu Redis
 +                    'database' => 0, // Numer bazy danych Redis
 +                ],
 +            ]);
 +            return $red;
 +        },
 +</code>
 +
 +Testowanie cache
 +<code php>
 +public function actionIndex() {
 +
 +        // Pobranie komponentu Redis
 +        if ($redis = Yii::$app->redis) {
 +
 +            // Zapis danych do Redis
 +            $redis->set('test_key', 'Hello tu Redis. Działam poprawnie :-)');
 +
 +            // Odczyt danych z Redis
 +            $value = $redis->get('test_key');
 +            echo $value;
 +        } else {
 +
 +            echo 'Redis nie został załadowany';
 +        }
 +        echo '<hr>';
 +        // Pobierz obiekt aplikacji Yii2
 +        $application = Yii::$app;
 +        
 +        // Pobierz komponent cache'u
 +        $cacheComponent = $application->getCache();
 +        
 +        // Sprawdź, czy komponent cache'u został skonfigurowany
 +        if ($cacheComponent !== null) {
 +            // Pobierz nazwę klasy komponentu cache'u
 +            $cacheClassName = get_class($cacheComponent);
 +        
 +            // Wyświetl informacje o bieżącym miejscu przechowywania cache'u
 +            echo "Cache aktualnie używa: $cacheClassName";
 +        } else {
 +            // Jeśli komponent cache'u nie został skonfigurowany, wyświetl odpowiedni komunikat
 +            echo "Cache component nie jest skonfigurowany.";
 +        }
 +
 +        exit;
 +    }
 +</code>
 +
redis_-_konfiguracja.1702284428.txt.gz · ostatnio zmienione: 2024/09/15 16:22 (edycja zewnętrzna)