> For the complete documentation index, see [llms.txt](https://cherrycake.tin.cat/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://cherrycake.tin.cat/reference/core-classes/items/items-properties.md).

# Items properties

## $cachedKeysPoolName <a href="#cachedkeyspoolname" id="cachedkeyspoolname"></a>

The CachedKeysPool mechanism allows for the wiping of multiple cached queries at once that are related to the same Items set.

When a `cachedKeyPoolsName` is specified, all the cache keys for queries performed by this Items object will be remembered in an internal pool. So, when executing the clearCachedKeysPool (executes also on the clearCache method), all the cached queries performed by this Items object will be cleared.

For example, when we have an Items object that gets certain items lists by accepting a page parameter for paged results, we don't know in advance how many pages will be cached, nor which pages will be cached, hence preventing us from easily clearing all the cached queries (since each cached items set will have an uncertain cache key that should contain the page number). The CachedKeysPool mechanism adds all the used cache keys to the pool as soon as they're used, so we end having a list of all the used cache keys. The clearCachedKeysPool method loops through that list and removes all the cache entries corresponding to each stored key from cache, effectively clearing all the cached queries related to this Items object.

It uses the same `cacheProviderName` as the rest of the Items functionalities.

**Default:** `false`

## $cacheProviderName <a href="#cacheprovidername" id="cacheprovidername"></a>

The name of the cache provider to use on the fillFromParameters method.

**Default:** `engine`

## $databaseProviderName <a href="#databaseprovidername" id="databaseprovidername"></a>

The database provider name to use on the fillFromParameters method.

**Default:** `main`

## $isCache <a href="#iscache" id="iscache"></a>

Whether to cache the result or not on the fillFromParameters method.

**Default:** `false`

## $itemClassName <a href="#itemclassname" id="itemclassname"></a>

The name of the Item class to use.

## $tableName <a href="#tablename" id="tablename"></a>

The name of the table where this items reside on the database.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://cherrycake.tin.cat/reference/core-classes/items/items-properties.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
