# Pools

Pools work a little bit like [queues](https://cherrycake.tin.cat/version-1.x-beta/guide/cache-guide/queues), 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](https://cherrycake.tin.cat/version-1.x-beta/reference/core-classes/cacheprovider/cacheprovider-methods#pooladd), and it stays there.

Also, when you get objects from the pool with [CacheProviderRedis::poolPop](https://cherrycake.tin.cat/version-1.x-beta/reference/core-classes/cacheprovider/cacheprovider-methods#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](https://cherrycake.tin.cat/version-1.x-beta/reference/core-classes/cacheprovider/cacheprovider-methods#isinpool), and you can also get the number of values in the pool with [CacheProviderRedis::poolCount](https://cherrycake.tin.cat/version-1.x-beta/reference/core-classes/cacheprovider/cacheprovider-methods#poolcount).
