It’s the most complex settings in the product.
Cache#
- Enable
Enables users caching. Due to users caching is a very complex thing we always ready to assist you in its setup.
- Separate sessions
Cache revalidation#
- Allow from browser
Allows a user to revalidate the current page by force refreshing in the browser (e.g. pressing Ctrl+F5 in Chrome).
- Time to live for cleanup
Not earlier than the expiration of this time after the last change of content, it will be removed only from users’ cache by using the ‘Cleanup’ function to decrease cache storage space. If there is no need, it can be simply turned off by setting everywhere 0.
Data dependencies groups#
It is a list of groups that each consists of a set of cookies, arguments, and database table dependencies.
- Enable
Enables/disables a specific group for easy customization, so as not to delete an element.
- Group name
Optional name to identify.
- Cookies
Pages’ requests having cookie names that begin with any of the specified strings will be treated as user-dependent and will be managed by the cache engine separately. If name begins with one of
/~@;%`#
it is interpreted as regular expression. Also, cookie’s value can be compared by appending name with=
or!=
and exact value. E.g.@^wcml_client_currency$@ != EUR
. - URI arguments
Pages’ URLs having arguments that begin with any of the specified strings will be excluded from caching.
- Tables
List of user data-dependent tables that are used when user caching is active. When caching engine detects that user data has been changed according to specified tables, then it revalidates user session cached data to provide fresh content to the user. See the example below.
Settings for each item:
- Table name
Database name of the table. Template %PREFIX% can be used that will be replaced by WordPress common database table name prefix.
- Column name
Table column name with user ID or field in the related table name.
- Related table name
Database name of the related to the initial table. Template %PREFIX% can be also used.
- Column name in related table
Table column name with user ID.
- Link ID column name in related table
Table column name that pointed from an initial table column.
- Column conditions in related table
Filters rows in the related table by specified conditions.
- Table name
Let’s look at the example by WooCommerce.
This plugin has its own post type to provide customer (user) orders storing. When the order is changed, we need to find out the related user ID and revalidate its cached data. So, orders are stored in the ‘wp_posts’ table and column ‘ID’ contains the order ID. Next, each order has information about the customer (user) that is stored in the post’s meta table named ‘wp_postmeta’ with ‘meta_key’ = ‘_customer_user’, ‘post_id’ contains order ID, and ‘meta_value’ contains needed user ID.
Finally, the depended table settings will be:
Table name | %PREFIX%posts |
Column name | ID |
Related table name | %PREFIX%postmeta |
Column name in related table | meta_value |
Link ID column name in related table | post_id |
Column conditions in related table | meta_key = _customer_user |