DynamoDbStore
class DynamoDbStore implements LockProvider, Store (View source)
Traits
Properties
| protected DynamoDbClient | $dynamo | The DynamoDB client instance.  | 
                |
| protected string | $table | The table name.  | 
                |
| protected string | $keyAttribute | The name of the attribute that should hold the key.  | 
                |
| protected string | $valueAttribute | The name of the attribute that should hold the value.  | 
                |
| protected string | $expirationAttribute | The name of the attribute that should hold the expiration timestamp.  | 
                |
| protected string | $prefix | A string that should be prepended to keys.  | 
                
Methods
Get the number of seconds until the given DateTime.
If the given value is an interval, convert it to a DateTime instance.
Create a new store instance.
Retrieve an item from the cache by key.
Retrieve multiple items from the cache by key.
Determine if the given item is expired.
Store an item in the cache for a given number of seconds.
Store multiple items 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.
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 UNIX timestamp for the given number of seconds.
Serialize the value.
Unserialize the value.
Get the DynamoDB type for the given value.
Get the cache key prefix.
Set the cache key prefix.
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.
        
                            void
    __construct(DynamoDbClient $dynamo, string $table, string $keyAttribute = 'key', string $valueAttribute = 'value', string $expirationAttribute = 'expires_at', string $prefix = '')
        
    
    Create a new store instance.
        
                            mixed
    get(string|array $key)
        
    
    Retrieve an item from the cache by key.
        
                            array
    many(array $keys)
        
    
    Retrieve multiple items from the cache by key.
Items not found in the cache will have a null value.
        
                    protected        bool
    isExpired(array $item, DateTimeInterface|null $expiration = null)
        
    
    Determine if the given item is expired.
        
                            bool
    put(string $key, mixed $value, int $seconds)
        
    
    Store an item in the cache for a given number of seconds.
        
                            bool
    putMany(array $values, int $seconds)
        
    
    Store multiple items 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.
        
                            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        int
    toTimestamp(int $seconds)
        
    
    Get the UNIX timestamp for the given number of seconds.
        
                    protected        mixed
    serialize(mixed $value)
        
    
    Serialize the value.
        
                    protected        mixed
    unserialize(mixed $value)
        
    
    Unserialize the value.
        
                    protected        string
    type(mixed $value)
        
    
    Get the DynamoDB type for the given value.
        
                            string
    getPrefix()
        
    
    Get the cache key prefix.
        
                            void
    setPrefix(string $prefix)
        
    
    Set the cache key prefix.