class VersionedTagSet extends NamespacedTagSet

Generic namespaced tag set for stores without a native tag index.

Each tag's identifier is a random value stored in the cache itself; resetting a tag rotates the identifier, which changes the namespace and lets previously tagged entries expire naturally.

Properties

protected Store $store

The cache store implementation.

from  TagSet
protected array $names

The tag names.

from  TagSet

Methods

__construct(Store $store, array $names = [])

Create a new TagSet instance.

from  TagSet
bool
reset()

Reset all tags in the set.

bool
flush()

Flush all the tags in the set.

bool
attemptEach(iterable $items, Closure $operation)

Attempt an operation for every item.

from  TagSet
array
getNames()

Get all of the tag names in the set.

from  TagSet
string
getNamespace()

Get a unique namespace that changes when any of the tags are flushed.

array
tagIds()

Get an array of tag identifiers for all of the tags in the set.

string
tagId(string $name)

Get the unique tag identifier for a given tag.

string
tagKey(string $name)

Get the tag identifier key for a given tag.

string
resetTag(string $name)

Reset the tag and return the new tag identifier.

string
flushTag(string $name)

Flush the tag from the cache.

string
newTagId()

Generate a new tag identifier.

bool
writeTagId(string $name, string $id)

Persist a tag identifier.

Details

in TagSet at line 27
__construct(Store $store, array $names = [])

Create a new TagSet instance.

Parameters

Store $store
array $names

at line 19
bool reset()

Reset all tags in the set.

Return Value

bool

at line 42
bool flush()

Flush all the tags in the set.

Return Value

bool

in TagSet at line 51
protected bool attemptEach(iterable $items, Closure $operation)

Attempt an operation for every item.

Parameters

iterable $items
Closure $operation

Return Value

bool

in TagSet at line 78
array getNames()

Get all of the tag names in the set.

Return Value

array

in NamespacedTagSet at line 18
string getNamespace()

Get a unique namespace that changes when any of the tags are flushed.

Return Value

string

in NamespacedTagSet at line 28
array tagIds()

Get an array of tag identifiers for all of the tags in the set.

Return Value

array

at line 67
string tagId(string $name)

Get the unique tag identifier for a given tag.

Parameters

string $name

Return Value

string

at line 75
string tagKey(string $name)

Get the tag identifier key for a given tag.

Parameters

string $name

Return Value

string

at line 30
string resetTag(string $name)

Reset the tag and return the new tag identifier.

Parameters

string $name

Return Value

string

at line 57
string flushTag(string $name)

Flush the tag from the cache.

Parameters

string $name

Return Value

string

at line 83
protected string newTagId()

Generate a new tag identifier.

Return Value

string

at line 91
protected bool writeTagId(string $name, string $id)

Persist a tag identifier.

Parameters

string $name
string $id

Return Value

bool