ICacheApi Interface |
Namespace: Casewhere.Runtime.DSL.Api
public interface ICacheApi
The ICacheApi type exposes the following members.
Name | Description | |
---|---|---|
ContainsKey |
Determines whether a cache entry exists in the cache.
| |
GetT |
Returns an entry from the cache.
| |
Remove |
Removes the specified item from the cache.
| |
SetT(String, T) |
Inserts a cache entry into the cache by using a key and a value with default expiration time which is 15 minutes.
| |
SetT(String, T, TimeSpan) |
Inserts a cache entry into the cache by using a key and a value and specifies time-based expiration details.
| |
SetT(String, T, TimeSpan, Boolean) |
Inserts a cache entry into the cache by using a key and a value and specifies whether it is for sliding expiration or time-based expiration.
| |
TryGetT |
Get item from cached if return true, otherwise it returns false
|
var dataApi = ctx.Use<IDataApi>(); var cacheApi = ctx.Use<ICacheApi>(); // In this example, we try to cache departments by id var cacheKey = ctx.Input.DepartmentId; object cached; if (cacheApi.TryGet(cacheKey, out cached)) { Log.Info("Cached key {Key} found {Cached}.", cacheKey, cached); } else { Log.Info("Cache key {Key} does not exist. Fetch from DB and cache...", cacheKey); var department = dataApi.Load(ctx.Input.DepartmentId); cacheApi.Set(cacheKey, department, TimeSpan.FromSeconds(120)); }