There are namely three sessions in Magento:
- customer session
- checkout session
- core session
All these sessions are stored in one session only. We use different sessions because sometimes we need to clear only a particular session data and not all session data.
In Magento, there are generally three types of sessions:
- Core Session: This session is primarily used for storing essential information such as customer login status, shopping cart items, and other session-related data. It is commonly accessed via the
Mage::getSingleton('core/session')
method. - Checkout Session: Specifically tailored for managing data related to the checkout process. This session handles information like the current quote, shipping and billing addresses, selected payment methods, etc. It is accessed using
Mage::getSingleton('checkout/session')
. - Customer Session: This session is focused on managing data related to customer interactions and preferences. It stores information such as customer ID, customer group, recently viewed products, and other customer-specific details. Access it through
Mage::getSingleton('customer/session')
.
The reason for using different sessions in Magento is to maintain separation of concerns and ensure that data is stored and managed appropriately based on its purpose. Each type of session serves a distinct functionality within the Magento framework:
- Core Session is for general site-wide session management.
- Checkout Session is specifically tailored for handling checkout-related data, providing a smoother shopping experience.
- Customer Session focuses on managing customer-specific data, enhancing personalization and user experience.
Separating these functionalities into different sessions helps maintain code modularity, improves code organization, and ensures better scalability and maintainability of the Magento platform.