Utiliser Valkey pour le stockage de session
Adobe Commerce fournit des options de ligne de commande pour configurer le stockage de session Valkey.
Exécutez la commande setup:config:set et spécifiez des paramètres spécifiques à Valkey.
bin/magento setup:config:set --session-save=valkey --session-save-valkey-<parameter_name>=<parameter_value>...
-
--session-save=valkeyactive le stockage de session Valkey. Si cette fonctionnalité est déjà activée, omettez ce paramètre. -
--session-save-valkey-<parameter_name>=<parameter_value>une liste de paires paramètre/valeur qui configurent le stockage de session :
bin/magento setup:config:set --session-save=redis --session-save-redis-<parameter_name>=<parameter_value>...
Problèmes connus liés à phpredis et php-fpm.
Important : si vous utilisez Valkey pour plusieurs types de mise en cache, les numéros de base de données doivent être différents. Il est recommandé d’attribuer le numéro de base de données de mise en cache par défaut à
0, le numéro de base de données de mise en cache de page à 1 et le numéro de base de données de stockage de session à 2.0 pour désactiver la compression (recommandé lorsque suhosin.session.encrypt = On).Définissez sur l’une des options suivantes, répertoriées dans l’ordre du moins détaillé au plus détaillé :
- 0 (urgence : seulement les erreurs les plus graves)
- 1 (alerte : action immédiate requise)
- 2 (critique : composant d’application non disponible)
- 3 (erreur : erreurs d’exécution, non critiques, mais doivent être surveillées)
- 4 (avertissement : informations supplémentaires, recommandé)
- 5 (avis : état normal mais significatif)
- 6 (info : messages informatifs)
- 7 (débogage : le plus d’informations pour le développement ou le test uniquement)
0 pour la désactiver.0 pour la désactiver.0 pour la désactiver.Exemple
L’exemple suivant définit Valkey comme magasin de données de session, définit l’hôte sur 127.0.0.1, définit le niveau de journal sur 4 et définit le numéro de base de données sur 2. Tous les autres paramètres sont définis sur la valeur par défaut.
bin/magento setup:config:set --session-save=valkey --session-save-valkey-host=127.0.0.1 --session-save-valkey-log-level=4 --session-save-valkey-db=2
bin/magento setup:config:set --session-save=redis --session-save-redis-host=127.0.0.1 --session-save-redis-log-level=4 --session-save-redis-db=2
Résultat
Commerce ajoute des lignes similaires à ce qui suit à <magento_root>app/etc/env.php :
'session' => [
'save' => 'valkey',
'redis' => [
'host' => '127.0.0.1',
'port' => '6379',
'password' => '',
'timeout' => '2.5',
'persistent_identifier' => '',
'database' => '2',
'compression_threshold' => '2048',
'compression_library' => 'gzip',
'log_level' => '4',
'max_concurrency' => '6',
'break_after_frontend' => '5',
'break_after_adminhtml' => '30',
'first_lifetime' => '600',
'bot_first_lifetime' => '60',
'bot_lifetime' => '7200',
'disable_locking' => '0',
'min_lifetime' => '60',
'max_lifetime' => '2592000',
],
],
0 (la valeur par défaut est 3600), les sessions Valkey expirent dans le nombre de secondes spécifié dans min_life (la valeur par défaut est 60). Cette incohérence est due à des différences dans la façon dont les cookies Valkey et de session interprètent une valeur de durée de vie de 0. Si ce comportement n'est pas souhaité, augmentez la valeur de min_life.Vérifier la connexion Valkey
Pour vérifier que Valkey et Commerce fonctionnent correctement ensemble, connectez-vous au serveur sur lequel Valkey est exécuté, ouvrez un terminal et utilisez la commande valkey-cli monitor ou la commande redis-cli ping.
Commande de moniteur Valkey
valkey-cli monitor
Exemple de sortie de stockage de session :
1476824834.187250 [0 127.0.0.1:52353] "select" "0"
1476824834.187587 [0 127.0.0.1:52353] "hmget" "sess_sgmeh2k3t7obl2tsot3h2ss0p1" "data" "writes"
1476824834.187939 [0 127.0.0.1:52353] "expire" "sess_sgmeh2k3t7obl2tsot3h2ss0p1" "1200"
1476824834.257226 [0 127.0.0.1:52353] "select" "0"
1476824834.257239 [0 127.0.0.1:52353] "hmset" "sess_sgmeh2k3t7obl2tsot3h2ss0p1" "data" "_session_validator_data|a:4:{s:11:\"remote_addr\";s:12:\"10.235.34.14\";s:8:\"http_via\";s:0:\"\";s:20:\"http_x_forwarded_for\";s:0:\"\";s:15:\"http_user_agent\";s:115:\"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 Safari/537.36\";}_session_hosts|a:1:{s:12:\"10.235.32.10\";b:1;}admin|a:0:{}default|a:2:{s:9:\"_form_key\";s:16:\"e331ugBN7vRjGMgk\";s:12:\"visitor_data\";a:3:{s:13:\"last_visit_at\";s:19:\"2016-10-18 21:06:37\";s:10:\"session_id\";s:26:\"sgmeh2k3t7obl2tsot3h2ss0p1\";s:10:\"visitor_id\";s:1:\"9\";}}adminhtml|a:0:{}customer_base|a:1:{s:20:\"customer_segment_ids\";a:1:{i:1;a:0:{}}}checkout|a:0:{}" "lock" "0"
... more ...
Commande ping Valkey
valkey-cli ping
La réponse attendue est : PONG.
Si les deux commandes ont réussi, Valkey est correctement configuré.
Inspection des données compressées
Pour inspecter les données de session compressées et le cache de page, le RESP.app prend en charge la décompression automatique de la session Commerce 2 et du cache de page et affiche les données de session PHP dans un format lisible par l'utilisateur.