0

Running into an issue with Magento REDIS FPC. It seems that pages are only cached for a session and those cached pages are not usable between sessions. I would like cached pages to be shared between sessions so after one page is cached then other user/sessions will receive the cached page. Not sure if this is by design or a configuration issue on my side.

What I think SHOULD (and want to) happen:

  1. Magento cache cleared
  2. user session 1 loads a page (long load, no cache 10 seconds)
  3. user session 1 reloads same page (short load due to cache, 1 second)
  4. user session 2 loads same page (short load due to cache, 1 second)

What is happening:

  1. Magento cache cleared
  2. user session 1 loads a page (long load, no cache 10 seconds)
  3. user session 1 reloads same page (short load due to cache, 1 second)
  4. user session 2 loads same page (long load, no cache 10 seconds)

I have only two elements in the header that are set to not cache. Rest of the page is set to cache.

0

You are correct - the way Magento Enterprise full page caching should work is that the first user loads a page, and the system will then create and add that page to the page cache. (Magento 2 works differently - in production mode, the system will proactively materialize the cache.)

On a normal instance, that page cache would live in /var/ directory as an HTML file.

With Reddis, you are saving this file into the reddis area instead; that makes it faster to serve the cached file (as it's in RAM) and better able to handle multiple front end Webservers if needed.

One thing to keep in mind - Magento will create a different cache file for different user groups. So if user #1 is a non-logged in user and user #2 is a wholesale users (different customer group), there are different cached pages built for each customer group.

My advice would be to test out the system by moving the full page cache from Reddis back onto the file server, and see if that changes the behavior. If so, then there's an issue with Reddis and setting the timing.

If not, I'd look at the two elements in the header that are set to not cache, as if it's not done properly with a hole punching, it may be invalidating the cache on each load.

I hope this helps?

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.