[Alleen PaaS]{class="badge informative" title="Is alleen van toepassing op Adobe Commerce op Cloud-projecten (door Adobe beheerde PaaS-infrastructuur) en op projecten in het veld."}

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
NOTE
De patch kan van toepassing worden op andere versies met nieuwe Quality Patches Tool versies. Om te controleren of de patch compatibel is met uw Adobe Commerce-versie, werkt u het 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:

  1. Redis configureren voor de Adobe Commerce-omgeving.

  2. Maak meerdere productcategorieën in de winkel.

  3. Maak een script dat terugkerende aanvragen naar een categoriepagina verzendt. Gebruik een JMeter-script of een equivalent gereedschap voor het testen van de belasting.

  4. Terwijl het script aanvragen naar de categoriepagina verzendt, voert u een block_html cache schoon en voert u de backend_clean_cache cron-taak meerdere keren uit.

  5. 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:

Gerelateerde lezing

Meer informatie over Quality Patches Tool vindt u in:

recommendation-more-help
c2d96e17-5179-455c-ad3a-e1697bb4e8c3