DatabaseStore
class DatabaseStore implements LockProvider, Store (View source)
Traits
Properties
| protected ConnectionInterface | $connection | The database connection instance.  | 
                |
| protected ConnectionInterface | $lockConnection | The database connection instance that should be used to manage locks.  | 
                |
| protected string | $table | The name of the cache table.  | 
                |
| protected string | $prefix | A string that should be prepended to keys.  | 
                |
| protected string | $lockTable | The name of the cache locks table.  | 
                |
| protected array | $lockLottery | An array representation of the lock lottery odds.  | 
                
Methods
Get the number of seconds until the given DateTime.
If the given value is an interval, convert it to a DateTime instance.
Store multiple items in the cache for a given number of seconds.
Create a new database store.
Retrieve an item from the cache by key.
Store an item in the cache for a given number of seconds.
Store an item in the cache if the key doesn't exist.
Increment the value of an item in the cache.
Decrement the value of an item in the cache.
Increment or decrement an item in the cache.
Get the current system time.
Store an item in the cache indefinitely.
Restore a lock instance using the owner identifier.
Remove an item from the cache.
Remove all items from the cache.
Get the underlying database connection.
Specify the name of the connection that should be used to manage locks.
Get the cache key prefix.
Serialize the given value.
Unserialize the given value.
Details
        
                    protected        int
    secondsUntil(DateTimeInterface|DateInterval|int $delay)
        
    
    Get the number of seconds until the given DateTime.
        
                    protected        int
    availableAt(DateTimeInterface|DateInterval|int $delay = 0)
        
    
    Get the "available at" UNIX timestamp.
        
                    protected        DateTimeInterface|int
    parseDateInterval(DateTimeInterface|DateInterval|int $delay)
        
    
    If the given value is an interval, convert it to a DateTime instance.
        
                    protected        int
    currentTime()
        
    
    Get the current system time as a UNIX timestamp.
        
                            array
    many(array $keys)
        
    
    Retrieve multiple items from the cache by key.
Items not found in the cache will have a null value.
        
                            bool
    putMany(array $values, int $seconds)
        
    
    Store multiple items in the cache for a given number of seconds.
        
                            void
    __construct(ConnectionInterface $connection, string $table, string $prefix = '', string $lockTable = 'cache_locks', array $lockLottery = [2, 100])
        
    
    Create a new database store.
        
                            mixed
    get(string|array $key)
        
    
    Retrieve an item from the cache by key.
        
                            bool
    put(string $key, mixed $value, int $seconds)
        
    
    Store an item in the cache for a given number of seconds.
        
                            bool
    add(string $key, mixed $value, int $seconds)
        
    
    Store an item in the cache if the key doesn't exist.
        
                            int|bool
    increment(string $key, mixed $value = 1)
        
    
    Increment the value of an item in the cache.
        
                            int|bool
    decrement(string $key, mixed $value = 1)
        
    
    Decrement the value of an item in the cache.
        
                    protected        int|bool
    incrementOrDecrement(string $key, mixed $value, Closure $callback)
        
    
    Increment or decrement an item in the cache.
        
                    protected        int
    getTime()
        
    
    Get the current system time.
        
                            bool
    forever(string $key, mixed $value)
        
    
    Store an item in the cache indefinitely.
        
                            Lock
    lock(string $name, int $seconds = 0, string|null $owner = null)
        
    
    Get a lock instance.
        
                            Lock
    restoreLock(string $name, string $owner)
        
    
    Restore a lock instance using the owner identifier.
        
                            bool
    forget(string $key)
        
    
    Remove an item from the cache.
        
                            bool
    flush()
        
    
    Remove all items from the cache.
        
                    protected        Builder
    table()
        
    
    Get a query builder for the cache table.
        
                            ConnectionInterface
    getConnection()
        
    
    Get the underlying database connection.
        
                            $this
    setLockConnection(ConnectionInterface $connection)
        
    
    Specify the name of the connection that should be used to manage locks.
        
                            string
    getPrefix()
        
    
    Get the cache key prefix.
        
                    protected        string
    serialize(mixed $value)
        
    
    Serialize the given value.
        
                    protected        mixed
    unserialize(string $value)
        
    
    Unserialize the given value.