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