ACSD-63687: Onjuiste prijzen worden weergegeven vanwege Redis problemen met het opschonen van cache
De ACSD-63687-patch verhelpt het probleem waarbij onjuiste prijzen worden weergegeven wanneer de Redis -opschoonfunctie voor cachebestanden wordt uitgevoerd zonder de LUA-modus, wat tot rasomstandigheden leidt. Deze patch is beschikbaar wanneer Quality Patches Tool (QPT) 1.1.77 wordt geïnstalleerd. De patch-id is ACSD-63687. Dit probleem wordt volgens de planning opgelost in Adobe Commerce 2.4.9.
Betrokken producten en versies
het flard wordt gecreeerd voor de versie van Adobe Commerce:
- Adobe Commerce (alle implementatiemethoden) 2.4.5-p9
Compatibel met de versies van Adobe Commerce:
- Adobe Commerce (alle implementatiemethoden) 2.4.5 - 2.4.6-p13
magento/quality-patches -pakket bij naar de meest recente versie en controleert u de compatibiliteit op de Quality Patches Tool : zoek naar patches op de pagina . Gebruik de patch-id als een zoekwoord om de patch te zoeken.Probleem
Er worden onjuiste prijzen weergegeven omdat het opschonen van de cache in Redis mislukt.
Stappen om te reproduceren:
-
Redis configureren voor de Adobe Commerce-omgeving.
-
Maak meerdere productcategorieën in de winkel.
-
Maak een script dat terugkerende aanvragen naar een categoriepagina verzendt. Gebruik een JMeter-script of een equivalent gereedschap voor het testen van de belasting.
-
Terwijl het script aanvragen naar de categoriepagina verzendt, voert u een
block_htmlcache schoon en voert u debackend_clean_cachecron-taak meerdere keren uit. -
Voer het opgegeven script uit om vast te stellen welke Redis cache-sleutelrecords niet bestaan in de MAGE-cachemet. Werk het voorvoegsel van de cachetag Redis port en MAGE bij zodat dit overeenkomt met de lokale projectconfiguratie.
code language-none #!/bin/bash REDIS_PORT=6379 REDIS_DB=0 SET_NAME="zc:ti:af6_MAGE" redis-cli -p $REDIS_PORT -n $REDIS_DB keys "zc:k:*" | while read KEY; do STRIPPED_KEY=${KEY#"zc:k:"} EXISTS=$(redis-cli -p $REDIS_PORT -n $REDIS_DB sismember "$SET_NAME" "$STRIPPED_KEY") if [ "$EXISTS" -eq 0 ]; then TIMESTAMP=$(redis-cli -p $REDIS_PORT -n $REDIS_DB hget "$KEY" "m") if [ -n "$TIMESTAMP" ]; then FORMATTED_TIME=$(date -r "$TIMESTAMP" +"%y-%m-%d %H:%M:%S") echo "$KEY - m: $FORMATTED_TIME" else echo "$KEY - m: (null)" fi fi done
Verwachte resultaten :
Cachetoetsen zonder corresponderende records worden niet gemaakt in Redis en de backend_clean_cache Cron-taak wist de cachemarkeringen correct.
Ware resultaten :
Cachetoetsen worden zonder corresponderende records in Redis gemaakt, dus het opruimen van de cache die door de backend_clean_cache -uitsnede wordt geactiveerd, werkt niet.
De patch toepassen
Om individuele flarden toe te passen, gebruik de volgende verbindingen afhankelijk van uw plaatsingsmethode:
- Op locatie Adobe Commerce of Magento Open Source: Quality Patches Tool > Gebruik in de handleiding Quality Patches Tool .
- Adobe Commerce op wolkeninfrastructuur: Verbeteringen en Patches > Pas Patches in Commerce op de gids van de Infrastructuur van de Wolk toe.
Gerelateerde lezing
Meer informatie over Quality Patches Tool vindt u in:
- Quality Patches Tool: Een zelfbedieningshulpmiddel voor kwaliteitspatches in de gids van Hulpmiddelen.