Reference - Cache dependency keys
This page list dummy cache keys and their format for all supported objects in the system.
Avoid setting dependencies on all objects of a particular type via |all
. Clearing the cache every time any object of a given type changes has a high chance of significantly reducing the effectivness of your caching solution. Always prefer targeting specific objects either via code name or GUID.
Reusable content items
The following cache keys are touched when the Published version of the target reusable content item changes.
If you need to set cache dependencies for other workflow states, use the contentitem|allstates|*
prefix. Where *
can be substituted for any expression from the table that begins with contentitem
. For example:
contentitem|allstates|all
contentitem|allstates|byschema|MySchema
Dependency on |
Cache key format |
Description |
All items |
contentitem|all Example:
|
Targets all items in the system. |
ID |
contentitem|byid|<ID> Example:
|
Targets an item by its database ID and optionally language variant.
|
ID and language variant |
contentitem|byid|<ID>|<languageName> Example:
|
|
Code name |
contentitem|byname|<codeName> Example:
|
Targets an item by its code name and optionally language variant. Code names of content items can be found on the Properties tab when editing items in the Content hub application.
|
Code name and language variant |
contentitem|byname|<codeName>|<languageName> Example:
|
|
GUID |
contentitem|byguid|<GUID> Example:
|
Targets an item by its GUID and optionally language variant.
|
GUID and language variant |
contentitem|<GUID>|<languageName> Example:
|
|
Content type |
contentitem|bycontenttype|<contentType> Example:
|
Targets all items of the given content type and optionally language variant.
|
Content type and language variant |
contentitem|bycontenttype|<contentType>|<languageName> Example:
|
|
contentitem|byschema|{schemaname} Example:
|
Targets all items using the given schema name and optionally language variant.
|
|
Reusable field schema name and item language variant |
contentitem|byschema|{schemaname}|{language} Example:
|
Pages
The following cache keys are touched when the Published version of the target page changes.
If you need to set cache dependencies for other workflow states, use the webpageitem|allstates|*
prefix. Where *
can be substituted for any expression from the table, omitting the webpageitem
prefix. For example: webpageitem|allstates|all
.
Dependency on |
Cache key format |
Description |
All |
webpageitem|all Example:
|
Targets all pages in the system. |
All in website channel |
webpageitem|bychannel|<channelName>|all Example: |
Targets all pages under the specified website channel. |
ID |
webpageitem|byid|<ID> Example:
|
Targets a page by it’s database ID and optionally language variant.
|
ID and language variant |
webpageitem|byid|<ID>|<languageName> Example:
|
|
Code name |
webpageitem|byname|<codeName> Example:
|
Targets a page by its code name and optionally language variant. The code name of a page can be found on the Properties tab when viewing pages under website channels.
|
Code name and language variant |
webpageitem|byname|<codeName>|<languageName> Example:
|
|
GUID |
webpageitem|byguid|<GUID> Example:
|
Targets an item by its GUID and optionally language variant.
|
GUID and language variant |
webpageitem|byguid|<GUID>|<languageName> Example:
|
|
Content type in website channel |
webpageitem|bychannel|<channelName>|bycontenttype|<contentType> Example:
|
Targets all pages of the specified content type and optionally language variant in the given channel.
|
Content type in website channel and language variant |
webpageitem|bychannel|<channelName>|bycontenttype|<contentType>|<languageName> Example:
|
|
Page path in website channel |
webpageitem|bychannel|<channelName>|bypath|<pagePath> Example: |
Targets a page with the specified page path, channel, and optionally language variant.
Changing a page’s path touches both the old and the new |
Page path and language variant in website channel |
webpageitem|bychannel|<channelName>|bypath|<pagePath>|<languageName> Example: |
|
Page path children in website channel |
webpageitem|bychannel|<channelName>|childrenofpath|<pagePath> Example: |
Targets all children on all sublevels of the specified page path. Optionally targets only specified language variants.
|
Page path children of language variant in website channel |
webpageitem|bychannel|<channelName>|childrenofpath|<pagePath>|<languageName> Example:
|
|
webpageitem|bychannel|{channel}|byschema|{schemaname} Example:
|
Targets all pages using the specified schema name and optionally language variant in the given channel.
|
|
Reusable field schema name and page language variant |
webpageitem|bychannel|{channel}|byschema|{schemaname}|{language} Example:
|
Reusable field schemas
Dependency on |
Cache key format |
Description |
Schema name |
reusablefieldschema|byname|{name} Example:
|
Targets a reusable field schema by its name. Touched when anything related to the schema changes (e.g., schema update, assignment to content type, removal). |
Media files
Dependency on |
Cache key format |
Example |
Description |
GUID |
mediafile|<guid> |
mediafile|1ced44f3-f2fc- … |
Cache dependencies can only target media library files using their GUID. |
Settings
Dependency on |
Cache key format |
Description |
Code name |
cms.settingskey|byname|<settingCodeName> |
Targets the settings specified by the given code name. |
General objects
Dependency on |
Cache key format |
Example |
Description |
All |
<object type>|all |
cms.user|all |
Targets all administration users in the system. |
ID |
<object type>|byid|<id> |
cms.user|byid|53 |
Targets the administration user with the specific ID. |
Code name |
<object type>|byname|<code name> |
cms.user|byname|administrator |
Targets the administration user with the specific code name. |
GUID |
<object type>|byguid|<guid> |
cms.user|byguid|1ced44f3-f2fc- … |
Targets the administration user with the specific GUID. |
Form data records
The system currently does not touch any dummy cache keys when changes occur for data submitted via forms.
As a workaround, developers can prepare custom event handlers for BizFormItemEvents
. Use the handler method to touch a custom cache key, and then enter the key into your cache dependencies. For example:
private void FormItem_InsertAfterHandler(object sender, BizFormItemEventArgs e)
{
// Touches a custom cache key, for example: "customformdata|bizform.contactus"
CacheHelper.TouchKey("customformdata|" + e.Item.BizFormClassName);
}