namespace VoidCat.Services.Abstractions;
///
/// Basic KV cache interface
///
public interface ICache
{
///
/// Get a single object from cache by its key
///
///
///
///
ValueTask Get(string key);
///
/// Set the the value of a key in the cache
///
///
///
///
///
///
ValueTask Set(string key, T value, TimeSpan? expire = null);
///
/// Delete an object from the cache
///
///
///
ValueTask Delete(string key);
///
/// Return a list of items at the specified key
///
///
///
ValueTask GetList(string key);
///
/// Add an item to the list at the specified key
///
///
///
///
ValueTask AddToList(string key, string value);
///
/// Remove an item from the list at a the specified key
///
///
///
///
ValueTask RemoveFromList(string key, string value);
}