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); }