Constants

DOCTRINE_NAMESPACE_CACHEKEY

DOCTRINE_NAMESPACE_CACHEKEY = 'DoctrineNamespaceCacheKey[%s]'

DATA_FIELD

DATA_FIELD = 'd'

The data field will store the serialized PHP value.

EXPIRATION_FIELD

EXPIRATION_FIELD = 'e'

The expiration field will store a MongoDate value indicating when the cache entry should expire.

With MongoDB 2.2+, entries can be automatically deleted by MongoDB by indexing this field with the "expireAfterSeconds" option equal to zero. This will direct MongoDB to regularly query for and delete any entries whose date is older than the current time. Entries without a date value in this field will be ignored.

The cache provider will also check dates on its own, in case expired entries are fetched before MongoDB's TTLMonitor pass can expire them.

Properties

$namespace

$namespace : string

The namespace to prefix all cache ids with.

Type

string

$namespaceVersion

$namespaceVersion : integer|null

The namespace version.

Type

integer|null

$collection

$collection : \MongoCollection

Type

\MongoCollection

Methods

setNamespace()

setNamespace(string  $namespace) : void

Sets the namespace to prefix all cache ids with.

Parameters

string $namespace

getNamespace()

getNamespace() : string

Retrieves the namespace that prefixes all cache ids.

Returns

string

fetch()

fetch(string  $id) : mixed

Fetches an entry from the cache.

Parameters

string $id

The id of the cache entry to fetch.

Returns

mixed —

The cached data or FALSE, if no cache entry exists for the given id.

fetchMultiple()

fetchMultiple(array  $keys) : array<mixed,mixed>

Returns an associative array of values for keys is found in cache.

Parameters

array $keys

Array of keys to retrieve from cache

Returns

array<mixed,mixed> —

Array of retrieved values, indexed by the specified keys. Values that couldn't be retrieved are not contained in this array.

saveMultiple()

saveMultiple(array  $keysAndValues, integer  $lifetime) : boolean

Returns a boolean value indicating if the operation succeeded.

Parameters

array $keysAndValues

Array of keys and values to save in cache

integer $lifetime

The lifetime. If != 0, sets a specific lifetime for these cache entries (0 => infinite lifeTime).

Returns

boolean —

TRUE if the operation was successful, FALSE if it wasn't.

contains()

contains(string  $id) : boolean

Tests if an entry exists in the cache.

Parameters

string $id

The cache id of the entry to check for.

Returns

boolean —

TRUE if a cache entry exists for the given cache id, FALSE otherwise.

save()

save(string  $id, mixed  $data, integer  $lifeTime) : boolean

Puts data into the cache.

If a cache entry with the given id already exists, its data will be replaced.

Parameters

string $id

The cache id.

mixed $data

The cache entry/data.

integer $lifeTime

The lifetime in number of seconds for this cache entry. If zero (the default), the entry never expires (although it may be deleted from the cache to make place for other entries).

Returns

boolean —

TRUE if the entry was successfully stored in the cache, FALSE otherwise.

delete()

delete(string  $id) : boolean

Deletes a cache entry.

Parameters

string $id

The cache id.

Returns

boolean —

TRUE if the cache entry was successfully deleted, FALSE otherwise. Deleting a non-existing entry is considered successful.

getStats()

getStats() : array|null

Retrieves cached information from the data store.

The server's statistics array has the following values:

  • hits Number of keys that have been requested and found present.

  • misses Number of items that have been requested and not found.

  • uptime Time that the server is running.

  • memory_usage Memory used by this server to store items.

  • memory_available Memory allowed to use for storage.

Returns

array|null —

An associative array with server's statistics if available, NULL otherwise.

flushAll()

flushAll() : boolean

Flushes all cache entries, globally.

Returns

boolean —

TRUE if the cache entries were successfully flushed, FALSE otherwise.

deleteAll()

deleteAll() : boolean

Deletes all cache entries in the current cache namespace.

Returns

boolean —

TRUE if the cache entries were successfully deleted, FALSE otherwise.

__construct()

__construct(\MongoCollection  $collection) 

Constructor.

This provider will default to the write concern and read preference options set on the MongoCollection instance (or inherited from MongoDB or MongoClient). Using an unacknowledged write concern (< 1) may make the return values of delete() and save() unreliable. Reading from secondaries may make contain() and fetch() unreliable.

Parameters

\MongoCollection $collection

doFetchMultiple()

doFetchMultiple(array  $keys) : array

Default implementation of doFetchMultiple. Each driver that supports multi-get should owerwrite it.

Parameters

array $keys

Array of keys to retrieve from cache

Returns

array —

Array of values retrieved for the given keys.

doFetch()

doFetch(string  $id) : mixed|false

Fetches an entry from the cache.

Parameters

string $id

The id of the cache entry to fetch.

Returns

mixed|false —

The cached data or FALSE, if no cache entry exists for the given id.

doContains()

doContains(string  $id) : boolean

Tests if an entry exists in the cache.

Parameters

string $id

The cache id of the entry to check for.

Returns

boolean —

TRUE if a cache entry exists for the given cache id, FALSE otherwise.

doSaveMultiple()

doSaveMultiple(array  $keysAndValues, integer  $lifetime) : boolean

Default implementation of doSaveMultiple. Each driver that supports multi-put should override it.

Parameters

array $keysAndValues

Array of keys and values to save in cache

integer $lifetime

The lifetime. If != 0, sets a specific lifetime for these cache entries (0 => infinite lifeTime).

Returns

boolean —

TRUE if the operation was successful, FALSE if it wasn't.

doSave()

doSave(string  $id, string  $data, integer  $lifeTime) : boolean

Puts data into the cache.

Parameters

string $id

The cache id.

string $data

The cache entry/data.

integer $lifeTime

The lifetime. If != 0, sets a specific lifetime for this cache entry (0 => infinite lifeTime).

Returns

boolean —

TRUE if the entry was successfully stored in the cache, FALSE otherwise.

doDelete()

doDelete(string  $id) : boolean

Deletes a cache entry.

Parameters

string $id

The cache id.

Returns

boolean —

TRUE if the cache entry was successfully deleted, FALSE otherwise.

doFlush()

doFlush() : boolean

Flushes all cache entries.

Returns

boolean —

TRUE if the cache entries were successfully flushed, FALSE otherwise.

doGetStats()

doGetStats() : array|null

Retrieves cached information from the data store.

Returns

array|null —

An associative array with server's statistics if available, NULL otherwise.

getNamespacedId()

getNamespacedId(string  $id) : string

Prefixes the passed id with the configured namespace value.

Parameters

string $id

The id to namespace.

Returns

string —

The namespaced id.

getNamespaceCacheKey()

getNamespaceCacheKey() : string

Returns the namespace cache key.

Returns

string

getNamespaceVersion()

getNamespaceVersion() : integer

Returns the namespace version.

Returns

integer

isExpired()

isExpired(array  $document) : boolean

Check if the document is expired.

Parameters

array $document

Returns

boolean