file#

class litestar.stores.file.FileStore#

Bases: NamespacedStore

File based, thread and process safe, asynchronous key/value store.

__init__(path: PathLike[str], *, create_directories: bool = False) None#

Initialize FileStorage.

Parameters:
  • path – Path to store data under

  • create_directories

    Create the directories in path if they don’t exist Default: False

    New in version 2.9.0.

path#

file path

create_directories#

flag to create directories in path

with_namespace(namespace: str) FileStore#

Return a new instance of FileStore, using a sub-path of the current store’s path.

async set(key: str, value: str | bytes, expires_in: int | timedelta | None = None) None#

Set a value.

Parameters:
  • key – Key to associate the value with

  • value – Value to store

  • expires_in – Time in seconds before the key is considered expired

Returns:

None

async get(key: str, renew_for: int | timedelta | None = None) bytes | None#

Get a value.

Parameters:
  • key – Key associated with the value

  • renew_for – If given and the value had an initial expiry time set, renew the expiry time for renew_for seconds. If the value has not been set with an expiry time this is a no-op

Returns:

The value associated with key if it exists and is not expired, else None

async delete(key: str) None#

Delete a value.

If no such key exists, this is a no-op.

Parameters:

key – Key of the value to delete

async delete_all() None#

Delete all stored values.

Note

This deletes and recreates FileStore.path

async delete_expired() None#

Delete expired items.

Since expired items are normally only cleared on access (i.e. when calling get()), this method should be called in regular intervals to free disk space.

async exists(key: str) bool#

Check if a given key exists.

async expires_in(key: str) int | None#

Get the time in seconds key expires in. If no such key exists or no expiry time was set, return None.