Couchbase
        
        extends PrefixReset
    
    
            
            in package
            
        
    
    
    
Couchbase adapter for a subset of data, accomplished by prefixing keys.
Couchbase supports multiple buckets. However, there's no overarching "server"
that can flush all the buckets (apart from looping all of them)
It may also not be possible to get into another bucket: they may have
different credentials.
And it's less trivial to "create" a new bucket. It could be done (although
not from the CouchbaseBucket we have in the adapter), but needs config.
I'll implement collections similar to how they've been implemented for Memcached: prefix keys & a reference value that can be changed to "flush" the cache. If people want multiple different buckets, they can easily create multiple Couchbase adapter objects.
Tags
Table of Contents
Methods
- __construct() : mixed
- add() : bool
- Adds an item under new key.
- cas() : bool
- Replaces an item in 1 atomic operation, to ensure it didn't change since it was originally read, when the CAS token was issued.
- decrement() : int|bool
- Decrements a counter value, or sets an initial value if it does not yet exist.
- delete() : bool
- Deletes an item from the cache.
- deleteMulti() : array<string|int, bool>
- Deletes multiple items at once (reduced network traffic compared to individual operations).
- flush() : bool
- Clears the entire cache (or the everything for the given collection).
- get() : mixed|bool
- Retrieves an item from the cache.
- getCollection() : KeyValueStore
- Returns an isolated subset (collection) in which to store or fetch data from.
- getMulti() : array<string|int, mixed>
- Retrieves multiple items at once.
- increment() : int|bool
- Increments a counter value, or sets an initial value if it does not yet exist.
- replace() : bool
- Replaces an item.
- set() : bool
- Stores a value, regardless of whether or not the key already exists (in which case it will overwrite the existing value for that key).
- setMulti() : array<string|int, bool>
- Store multiple values at once.
- touch() : bool
- Updates an item's expiration time without altering the stored value.
Methods
__construct()
    public
                    __construct(Couchbase $cache, string $name) : mixed
    Parameters
- $cache : Couchbase
- $name : string
add()
Adds an item under new key.
    public
                    add(mixed $key, mixed $value[, mixed $expire = 0 ]) : bool
    Parameters
- $key : mixed
- $value : mixed
- $expire : mixed = 0
- 
                    Time when item falls out of the cache: 0 = permanent (doesn't expires); under 2592000 (30 days) = relative time, in seconds from now; over 2592000 = absolute time, unix timestamp 
Return values
boolcas()
Replaces an item in 1 atomic operation, to ensure it didn't change since it was originally read, when the CAS token was issued.
    public
                    cas(mixed $token, mixed $key, mixed $value[, mixed $expire = 0 ]) : bool
    Parameters
- $token : mixed
- 
                    Token received from get() or getMulti() 
- $key : mixed
- $value : mixed
- $expire : mixed = 0
- 
                    Time when item falls out of the cache: 0 = permanent (doesn't expires); under 2592000 (30 days) = relative time, in seconds from now; over 2592000 = absolute time, unix timestamp 
Return values
booldecrement()
Decrements a counter value, or sets an initial value if it does not yet exist.
    public
                    decrement(mixed $key[, mixed $offset = 1 ][, mixed $initial = 0 ][, mixed $expire = 0 ]) : int|bool
    Parameters
- $key : mixed
- $offset : mixed = 1
- 
                    Value to decrement with 
- $initial : mixed = 0
- 
                    Initial value (if item doesn't yet exist) 
- $expire : mixed = 0
- 
                    Time when item falls out of the cache: 0 = permanent (doesn't expires); under 2592000 (30 days) = relative time, in seconds from now; over 2592000 = absolute time, unix timestamp 
Return values
int|bool —New value or false on failure
delete()
Deletes an item from the cache.
    public
                    delete(mixed $key) : bool
    Parameters
- $key : mixed
Return values
booldeleteMulti()
Deletes multiple items at once (reduced network traffic compared to individual operations).
    public
                    deleteMulti(array<string|int, mixed> $keys) : array<string|int, bool>
    Parameters
- $keys : array<string|int, mixed>
Return values
array<string|int, bool>flush()
Clears the entire cache (or the everything for the given collection).
    public
                    flush() : bool
    Return values
boolget()
Retrieves an item from the cache.
    public
                    get(mixed $key[, mixed &$token = null ]) : mixed|bool
    Parameters
- $key : mixed
- $token : mixed = null
- 
                    Will be filled with the CAS token 
Return values
mixed|bool —Value, or false on failure
getCollection()
Returns an isolated subset (collection) in which to store or fetch data from.
    public
                    getCollection(mixed $name) : KeyValueStore
    Parameters
- $name : mixed
Return values
KeyValueStore —A new KeyValueStore instance representing only a subset of data on this server
getMulti()
Retrieves multiple items at once.
    public
                    getMulti(array<string|int, mixed> $keys[, array<string|int, mixed> &$tokens = null ]) : array<string|int, mixed>
    Parameters
- $keys : array<string|int, mixed>
- $tokens : array<string|int, mixed> = null
- 
                    Will be filled with the CAS tokens, in [key => token] format 
Return values
array<string|int, mixed> —[key => value]
increment()
Increments a counter value, or sets an initial value if it does not yet exist.
    public
                    increment(mixed $key[, mixed $offset = 1 ][, mixed $initial = 0 ][, mixed $expire = 0 ]) : int|bool
    Parameters
- $key : mixed
- $offset : mixed = 1
- 
                    Value to increment with 
- $initial : mixed = 0
- 
                    Initial value (if item doesn't yet exist) 
- $expire : mixed = 0
- 
                    Time when item falls out of the cache: 0 = permanent (doesn't expires); under 2592000 (30 days) = relative time, in seconds from now; over 2592000 = absolute time, unix timestamp 
Return values
int|bool —New value or false on failure
replace()
Replaces an item.
    public
                    replace(mixed $key, mixed $value[, mixed $expire = 0 ]) : bool
    Parameters
- $key : mixed
- $value : mixed
- $expire : mixed = 0
- 
                    Time when item falls out of the cache: 0 = permanent (doesn't expires); under 2592000 (30 days) = relative time, in seconds from now; over 2592000 = absolute time, unix timestamp 
Return values
boolset()
Stores a value, regardless of whether or not the key already exists (in which case it will overwrite the existing value for that key).
    public
                    set(mixed $key, mixed $value[, mixed $expire = 0 ]) : bool
    Parameters
- $key : mixed
- $value : mixed
- $expire : mixed = 0
- 
                    Time when item falls out of the cache: 0 = permanent (doesn't expires); under 2592000 (30 days) = relative time, in seconds from now; over 2592000 = absolute time, unix timestamp 
Return values
boolsetMulti()
Store multiple values at once.
    public
                    setMulti(array<string|int, mixed> $items[, mixed $expire = 0 ]) : array<string|int, bool>
    Parameters
- $items : array<string|int, mixed>
- 
                    [key => value] 
- $expire : mixed = 0
- 
                    Time when item falls out of the cache: 0 = permanent (doesn't expires); under 2592000 (30 days) = relative time, in seconds from now; over 2592000 = absolute time, unix timestamp 
Return values
array<string|int, bool>touch()
Updates an item's expiration time without altering the stored value.
    public
                    touch(mixed $key, mixed $expire) : bool
    Parameters
- $key : mixed
- $expire : mixed
- 
                    Time when item falls out of the cache: 0 = permanent (doesn't expires); under 2592000 (30 days) = relative time, in seconds from now; over 2592000 = absolute time, unix timestamp