Search Results for

    Show / Hide Table of Contents

    Interface IReadOnlyCache

    An interface for retrieving and caching items. This should only be used to load standing data items that are frequently referenced but not updated often. Whenever an item is actually changed the cache of those items will be refreshed

    Namespace: LemonEdge.API.Core.Data
    Assembly: LemonEdge.API.dll
    Syntax
    public interface IReadOnlyCache

    Methods

    AddKeyItem(Type, string, IBaseEntity)

    Adds a specified item to the cache for referral with the specified key

    Declaration
    void AddKeyItem(Type itemType, string key, IBaseEntity item)
    Parameters
    Type Name Description
    Type itemType
    string key

    The key for retrieving this item

    IBaseEntity item

    The item to add to the cache using this key

    AddKeyItem<T>(string, Func<Task<T>>)

    Adds a specified item to the cache in a thread safe manner. Ensures getNewItem is only called if the cache does not already have a value, and getNewItem is not currently being executed for that key

    Declaration
    Task<T> AddKeyItem<T>(string key, Func<Task<T>> getNewItem) where T : IBaseEntity
    Parameters
    Type Name Description
    string key

    The key for retrieving this item

    Func<Task<T>> getNewItem

    A function that returns the new value if it is needed in a thread safe manner

    Returns
    Type Description
    Task<T>

    A task indicating the completion of this function

    Type Parameters
    Name Description
    T

    The type of item to add

    AddKeyItem<T>(string, T)

    Adds a specified item to the cache for referral with the specified key

    Declaration
    void AddKeyItem<T>(string key, T item) where T : IBaseEntity
    Parameters
    Type Name Description
    string key

    The key for retrieving this item

    T item

    The item to add to the cache using this key

    Type Parameters
    Name Description
    T

    The type of item being added to the cache

    AddWeakKeyItem(string, object)

    Declaration
    void AddWeakKeyItem(string key, object item)
    Parameters
    Type Name Description
    string key
    object item

    GetAllItems(Type)

    Retrieves all items of a particular type

    Declaration
    Task<IEnumerable<IBaseEntity>> GetAllItems(Type t)
    Parameters
    Type Name Description
    Type t

    The type of items to retrieve all items of

    Returns
    Type Description
    Task<IEnumerable<IBaseEntity>>

    All items of a particular type

    GetAllItems<T>()

    Retrieves all items of a particular type

    Declaration
    Task<IEnumerable<T>> GetAllItems<T>() where T : IBaseEntity
    Returns
    Type Description
    Task<IEnumerable<T>>

    All items of a particular type

    Type Parameters
    Name Description
    T

    The type of items to retrieve all items of

    GetItem(Type, Guid)

    Returns a particular item by ID

    Declaration
    Task<IBaseEntity> GetItem(Type type, Guid id)
    Parameters
    Type Name Description
    Type type

    The type of item to return

    Guid id

    The ID of the item to return

    Returns
    Type Description
    Task<IBaseEntity>

    A particular item by ID

    GetItem<T>(Guid)

    Returns a particular item by ID

    Declaration
    Task<T> GetItem<T>(Guid id) where T : IBaseEntity
    Parameters
    Type Name Description
    Guid id

    The ID of the item to return

    Returns
    Type Description
    Task<T>

    A particular item by ID

    Type Parameters
    Name Description
    T

    The type of item to return

    GetItems(Type, QueryableFilter)

    Retrieves items of a particular type according to the specified filter

    Declaration
    Task<IEnumerable<IBaseEntity>> GetItems(Type t, QueryableFilter filter)
    Parameters
    Type Name Description
    Type t

    The type of items to retrieve

    QueryableFilter filter
    Returns
    Type Description
    Task<IEnumerable<IBaseEntity>>

    Items of a particular type according to the specified filter

    GetItems<T>(QueryableFilter)

    Retrieves items of a particular type according to the specified filter

    Declaration
    Task<IEnumerable<T>> GetItems<T>(QueryableFilter filter) where T : IBaseEntity
    Parameters
    Type Name Description
    QueryableFilter filter
    Returns
    Type Description
    Task<IEnumerable<T>>

    Items of a particular type according to the specified filter

    Type Parameters
    Name Description
    T

    The type of items to retrieve all items of

    GetKeyItem(Type, string)

    Retrieves a previously added key item (through AddKeyItem(Type, string, IBaseEntity)) using the specified key.

    Declaration
    (bool ExistedInCache, IBaseEntity KeyItem) GetKeyItem(Type itemType, string key)
    Parameters
    Type Name Description
    Type itemType
    string key

    The key for retrieving this item

    Returns
    Type Description
    (bool ExistedInCache, IBaseEntity KeyItem)

    Returns true if the key was added to the cache and returns the item. False and null otherwise

    GetKeyItem<T>(string)

    Retrieves a previously added key item (through AddKeyItem<T>(string, T)) using the specified key.

    Declaration
    (bool ExistedInCache, T KeyItem) GetKeyItem<T>(string key) where T : IBaseEntity
    Parameters
    Type Name Description
    string key

    The key for retrieving this item

    Returns
    Type Description
    (bool ExistedInCache, T KeyItem)

    Returns true if the key was added to the cache and returns the item. False and null otherwise

    Type Parameters
    Name Description
    T

    The type of item to retrieve from the cache

    GetWeakKeyItem(string)

    Declaration
    object GetWeakKeyItem(string key)
    Parameters
    Type Name Description
    string key
    Returns
    Type Description
    object

    InvalidateCachedItem<T>(Guid)

    Invalidate the particular cached item

    Declaration
    Task InvalidateCachedItem<T>(Guid id) where T : IBaseEntity
    Parameters
    Type Name Description
    Guid id

    The id of the item to invalidate

    Returns
    Type Description
    Task

    A task indicating when the operation is complete

    Type Parameters
    Name Description
    T

    The type of the item in the cache to invalidate

    InvalidateCachedItems(Type)

    Invalidates all cached items of a particular type. Called whenever a context saves changes to items of this type

    Declaration
    Task InvalidateCachedItems(Type t)
    Parameters
    Type Name Description
    Type t

    The type of items in the cache to invalidate

    Returns
    Type Description
    Task

    A task indicating when the operation is complete

    InvalidateCachedItems<T>()

    Invalidates all cached items of a particular type. Called whenever a context saves changes to items of this type

    Declaration
    Task InvalidateCachedItems<T>() where T : IBaseEntity
    Returns
    Type Description
    Task

    A task indicating when the operation is complete

    Type Parameters
    Name Description
    T

    The type of items in the cache to invalidate

    InvalidateKeyItems()

    Invalidates the cached items that have been created through any AddKeyItem call

    Declaration
    void InvalidateKeyItems()

    Extension Methods

    LinqExtensions.AsArray<T>(T)
    LinqExtensions.ToArrayOfOne<T>(T)
    LinqExtensions.ToListOfOne<T>(T)
    MiscExtensions.SetIfNotEqual<T, TP>(T, Expression<Func<T, TP>>, TP)
    WeakReferenceExtensions.WeakReference(object)
    SQLExtensions.ToSQLValue(object, bool)
    ReflectionExtensions.ClearEventInvocations(object, string)
    StringExtensions.ToCSVFormatString(object, Type)
    In this article
    Back to top © LemonEdge Technologies. All rights reserved.