> 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/version-0.x/guide/cache-guide/pools.md).

# Pools

Pools work a little bit like [queues](/version-0.x/guide/cache-guide/queues.md), with the exception of not being ordered. You cannot choose whether to add a value to the beginning or to the end of a pool, you just throw the value into the pool with [CacheProviderRedis::poolAdd](/version-0.x/reference/core-classes/cacheprovider/cacheprovider-methods.md#pooladd), and it stays there.

Also, when you get objects from the pool with [CacheProviderRedis::poolPop](/version-0.x/reference/core-classes/cacheprovider/cacheprovider-methods.md#poolpop-poolname), you can't choose what object you get, you just get a random one.

One benefit you get when using pools is that you can check if a certain value is in the pool by using [CacheProviderRedis::isInPool](/version-0.x/reference/core-classes/cacheprovider/cacheprovider-methods.md#isinpool), and you can also get the number of values in the pool with [CacheProviderRedis::poolCount](/version-0.x/reference/core-classes/cacheprovider/cacheprovider-methods.md#poolcount).
