Redis στο Magento: όταν χάνονται συνεδρίες και καλάθια
Στα περισσότερα καταστήματα Magento σε παραγωγή, το Redis κρατά την cache και τις συνεδρίες πελατών. Όταν είναι υγιές κανείς δεν το σκέφτεται. Όταν ξεμείνει από μνήμη, οι πελάτες βρίσκουν τα καλάθια τους άδεια και το checkout να ξεκινά από την αρχή — χωρίς κάτι προφανώς εκτός λειτουργίας.

Cache και συνεδρίες είναι διαφορετικά
Η απώλεια cache είναι αργή αλλά αβλαβής: το Magento την ξαναχτίζει. Η απώλεια συνεδριών όχι: εκεί ζουν η σύνδεση του πελάτη και η κατάσταση του checkout. Αν και τα δύο είναι στο ίδιο Redis με πολιτική eviction, μια φορτωμένη cache μπορεί να σπρώξει έξω τις συνεδρίες.
Κρατήστε τις συνεδρίες σε δική τους βάση ή instance Redis, με πολιτική που δεν τις διαγράφει, και υπολογίστε τη μνήμη για την πιο φορτωμένη σας μέρα — δείτε την τεκμηρίωση του Redis για μνήμη και eviction.
Πώς το βλέπουν οι πελάτες
Καλάθια που αδειάζουν ανάμεσα σε σελίδες, σφάλματα «Invalid Form Key», επιστροφή στο πρώτο βήμα του checkout, ή σύνδεση που δεν κρατιέται. Είναι διακοπτόμενο και χειροτερεύει με φορτίο, οπότε συχνά εμφανίζεται σε προσφορά — ακριβώς όταν το κόστος ενός χαλασμένου checkout είναι μεγαλύτερο.
Τα timeouts προς το Redis μοιάζουν: οι σελίδες αργούν, μετά αποτυγχάνουν. Ένα failover ή restart χωρίς persistence αποσυνδέει όλους μαζί.
Τι να παρακολουθείτε
Παρακολουθήστε μνήμη, evictions και σφάλματα σύνδεσης του Redis, και ειδοποιήστε όταν διαγράφονται κλειδιά στη βάση συνεδριών. Ελέγξτε το exception log του Magento για timeouts του Redis.
Ένας έλεγχος checkout που τρέχει ως νέος επισκέπτης κάθε λίγα λεπτά πιάνει την πλευρά του πελάτη: η προσθήκη στο καλάθι και η πρόοδος στο checkout είναι ακριβώς αυτά που αποτυγχάνουν όταν η αποθήκευση συνεδριών δυσλειτουργεί.
Ελέγξτε το δικό σας κατάστημα τώρα με το δωρεάν τεστ checkout Magento: περνά το checkout σε πραγματικό browser, Luma ή Hyvä, και δείχνει το βήμα όπου σταματά.
Αν το checkout παγώνει στο βήμα χρέωσης ή πληρωμής, δείτε το Magento checkout κολλημένο στο billing.
Συχνές ερωτήσεις
Πρέπει sessions και cache του Magento να είναι στο ίδιο Redis;
Όχι. Χρησιμοποιήστε ξεχωριστές βάσεις ή instances Redis, ώστε ένας καθαρισμός ή eviction της cache να μη σβήνει ποτέ sessions.
Γιατί εξαφανίζονται τα καλάθια στο Magento;
Οι sessions σβήνονται όταν τελειώνει η μνήμη του Redis, καθαρίζονται μαζί με την cache, ή χάνονται σε timeout κλειδώματος session υπό φόρτο.
Ποια πολιτική eviction για τις sessions;
Οι sessions δεν πρέπει να σβήνονται καθόλου: δώστε αρκετή μνήμη και πολιτική noeviction, και παρακολουθείτε τη χρησιμοποιούμενη μνήμη.