A few quick fragment cache questions

Doing some reading up on fragment cache before implmenting it and had a few questions:

1.) I read that page and action caching have issues or don't work at all with query strings (more so with page caching). Does fragment caching work with query strings? i.e something like example.com/foo/bar?page=2

2.) If the above is true and I have an authentication system built into my app, if 2 separate users go to their own example.com/foo/bar?page=2, will it have the separate fragment caches for each user? or is that something I need to build into the auth system? Something like make each :action_suffix unique by adding in their id for example? But I do use say their unique id as the :action_suffix, what if I have multiple fragments per page and each needs a unique identifier in order for me to expire them or can I specify more than one :action_suffix?

Thanks in advance.

Hi,

Marston wrote:

1.) I read that page and action caching have issues or don't work at all with query strings (more so with page caching). Does fragment caching work with query strings? i.e something like example.com/foo/bar?page=2

Yes

2.) If the above is true and I have an authentication system built into my app, if 2 separate users go to their own example.com/foo/bar?page=2, will it have the separate fragment caches for each user? or is that something I need to build into the auth system? Something like make each :action_suffix unique by adding in their id for example? But I do use say their unique id as the :action_suffix, what if I have multiple fragments per page and each needs a unique identifier in order for me to expire them or can I specify more than one :action_suffix?

It's a global cache - if one user saves something into the cache at a given key, any other user can access that content with the same key. You need to add the user id to the key if you want to make it unique for that user.

As for expiring many fragments at once, you really need to know what the keys are. Most of the fragment stores support deleting fragments by regex, but MemcacheStore doesn't (because you can't get a list of keys from memcached).

Jon