Click or drag to resize

RedisCacheService Class

An implementation of the IDataCachingService which uses REDIS
Inheritance Hierarchy
SystemObject
  SanteDB.Caching.RedisRedisCacheService

Namespace: SanteDB.Caching.Redis
Assembly: SanteDB.Caching.Redis (in SanteDB.Caching.Redis.dll) Version: 3.0.2081-alpha+ce906ccc8091ff0a3c40d1fff3e2485e75a86c5b
Syntax
public class RedisCacheService : IDataCachingService, 
	IServiceImplementation, IDaemonService

The RedisCacheService type exposes the following members.

Constructors
 NameDescription
Public methodRedisCacheService DI constructor
Top
Properties
 NameDescription
Public propertyIsRunning Indicates whether the daemon service is running
Public propertyServiceName Gets the service name
Public propertySize Size of the database
Top
Methods
 NameDescription
Public methodAdd Add an object to the REDIS cache
Public methodClear Purges the entire cache of all entries
Public methodEqualsDetermines whether the specified object is equal to the current object.
(Inherited from Object)
Public methodExistsT Returns tru if the cache contains the specified id
Protected methodFinalizeAllows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Inherited from Object)
Public methodGetCacheItem(Guid) Get a cache item
Public methodGetCacheItemTData(Guid) Get cache item
Public methodGetHashCodeServes as the default hash function.
(Inherited from Object)
Public methodGetTypeGets the Type of the current instance.
(Inherited from Object)
Protected methodMemberwiseCloneCreates a shallow copy of the current Object.
(Inherited from Object)
Public methodRemove(Guid) Removes/evicts an object with identifier key from the cache
Public methodRemove(IdentifiedData) Removes/evicts the provided object form cache if available
Public methodStart Indicates the caller wishes to start the daemon service lifecycle
Public methodStop Indicates the caller wishes to stop the daemon service
Public methodToStringReturns a string that represents the current object.
(Inherited from Object)
Top
Events
 NameDescription
Public eventAdded Fired after an object has successfully been committed to the cache
Public eventRemoved Fired after an object has successfully been evicted from cache
Public eventStarted Fired when the daemon service has completed it start procedure.
Public eventStarting Fired when the daemon service has commenced start but has not yet finished
Public eventStopped Fired when the daemon has completed its stop procedure
Public eventStopping Fired when the daemon service has commenced stop but has not yet been fully shut down.
Public eventUpdated Fired after an object has successfully been updated within the cache
Top
Extension Methods
 NameDescription
Public Extension MethodConvertTReturn The purpose of this method is to convert object me to TReturn. Why? Because if you have an instance of Act that actually needs to be a SubstanceAdministration we can't just cast so we have to copy.
(Defined by ExtensionMethods)
Public Extension MethodWithControl With control parameter is used as a wrapper for _ parameters
(Defined by QueryFilterExtensions)
Top
Remarks

This implementation of the caching service uses the XMLSerializer in .NET to serialize any object passed in via the Add(IdentifiedData) method. The data is then compressed (if configured) and sent to the configured REDIS server.

The use of the .NET XML serializer over the Newtonsoft JSON serializer for caching was chosen since the serializer operates on streams (saves string conversions) and pre-compiles the serialization classes on .NET Framework implementations (Mono implementations use relfection)

The caching data is stored in database 1 of the REDIS server.

See Also