public virtual void Remove(object key)
{
key.ThrowIfNull();
log.DebugFormat("remove from cache: regionName='{0}', key='{1}'", RegionName, key);
try
{
var cacheKey = CacheNamespace.GetKey(key);
var setOfActiveKeysKey = CacheNamespace.GetSetOfActiveKeysKey();
var db = GetDatabase();
db.ScriptEvaluate(removeScript, new
{
key = cacheKey,
setOfActiveKeysKey = setOfActiveKeysKey
}, fireAndForgetFlags);
}
catch (Exception e)
{
log.ErrorFormat("could not remove from cache: regionName='{0}', key='{1}'", RegionName, key);
var evtArg = new ExceptionEventArgs(RegionName, RedisCacheMethod.Remove, e);
options.OnException(this, evtArg);
if (evtArg.Throw)
{
throw new RedisCacheException(RegionName, "Failed to remove item from cache. See inner exception.", e);
}
}
}