세션 저장소에 Valkey 사용
Adobe Commerce은 Valkey 세션 저장소를 구성하는 명령줄 옵션을 제공합니다.
setup:config:set 명령을 실행하고 Valkey 관련 매개 변수를 지정합니다.
bin/magento setup:config:set --session-save=valkey --session-save-valkey-<parameter_name>=<parameter_value>...
-
--session-save=valkey이(가) Valkey 세션 저장소를 사용하도록 설정합니다. 이 기능이 이미 활성화되어 있으면 이 매개변수를 생략합니다. -
--session-save-valkey-<parameter_name>=<parameter_value>은(는) 세션 저장소를 구성하는 매개 변수/값 쌍의 목록입니다.
bin/magento setup:config:set --session-save=redis --session-save-redis-<parameter_name>=<parameter_value>...
phpredis 및 php-fpm과 관련된 알려진 문제.
중요: 두 개 이상의 캐싱 형식에 Valkey를 사용하는 경우 데이터베이스 번호가 달라야 합니다. 기본 캐싱 데이터베이스 번호를
0에, 페이지 캐싱 데이터베이스 번호를 1에, 세션 저장소 데이터베이스 번호를 2에 할당하는 것이 좋습니다.0(으)로 설정합니다(suhosin.session.encrypt = On일 때 권장됨).세부 정보(verbose)부터 세부 정보(verbose)까지 순서대로 나열되는 다음 중 하나로 설정합니다.
- 0(긴급: 가장 심각한 오류만)
- 1(경고: 즉각적인 조치 필요)
- 2 (중요: 애플리케이션 구성 요소를 사용할 수 없음)
- 3 (오류: 런타임 오류, 중요하지 않지만 모니터링해야 함)
- 4(경고: 추가 정보, 권장)
- 5(알림: 정상이지만 중대한 상태)
- 6 (정보: 정보 메시지)
- 7(디버그: 개발 또는 테스트용으로만 사용되는 가장 많은 정보)
0을(를) 사용하여 사용하지 않도록 설정하십시오.0을(를) 사용하여 사용하지 않도록 설정하십시오.0을(를) 사용하여 사용하지 않도록 설정하십시오.예
다음 예제에서는 Valkey를 세션 데이터 저장소로 설정하고 호스트를 127.0.0.1(으)로 설정하고 로그 수준을 4(으)로 설정하고 데이터베이스 번호를 2(으)로 설정합니다. 다른 모든 매개변수는 기본값으로 설정됩니다.
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
결과
Commerce이 <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(기본값: 3600)로 설정된 경우 Valkey 세션은 min_lifetime에 지정된 초 수(기본값: 60)로 만료됩니다. 이러한 불일치는 Valkey 및 세션 쿠키가 0의 라이프타임 값을 해석하는 방식의 차이로 인해 발생합니다. 해당 비헤이비어를 원하지 않는 경우 min_lifetime 값을 늘립니다.Valkey 연결 확인
Valkey와 Commerce이 제대로 작동하는지 확인하려면 Valkey가 실행 중인 서버에 로그인하고 터미널을 열고 valkey-cli monitor 명령 또는 redis-cli ping 명령을 사용합니다.
Valkey monitor 명령
valkey-cli monitor
샘플 세션-스토리지 출력:
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 ...
Valkey ping 명령
valkey-cli ping
필요한 응답은 PONG입니다.
두 명령이 모두 성공하면 Valkey가 제대로 설정됩니다.
압축된 데이터 검사
압축된 세션 데이터와 페이지 캐시를 검사하기 위해 RESP.app은(는) Commerce 2 세션 및 페이지 캐시의 자동 압축 해제를 지원하고 사람이 읽을 수 있는 형식으로 PHP 세션 데이터를 표시합니다.