/// <summary> /// 刷新缓存有效期。 /// </summary> /// <param name="partitionId">缓存分区Id,不同Id对应不同区。</param> /// <param name="key">缓存键。</param> /// <param name="options">缓存有效期配置</param> public async Task RefreshAsync(string partitionId, string key, KolibreCacheOptions options) { if (key.IsNullOrEmpty()) { throw new ArgumentNullException(nameof(key)); } if (partitionId.IsNullOrEmpty()) { partitionId = s_defaultPartitionId; } ISmartCacheActor actor = ActorProxy.Create <ISmartCacheActor>(new ActorId(partitionId), s_serviceUri); await actor.RefreshAsync(key, options); }
/// <summary> /// 查询缓存。 /// </summary> /// <param name="partitionId">缓存分区Id,不同Id对应不同区。</param> /// <param name="key">缓存键。</param> public async Task <Student> GetSmartCacheAsync(string partitionId, string key) { if (key.IsNullOrEmpty()) { throw new ArgumentNullException(nameof(key)); } if (partitionId.IsNullOrEmpty()) { partitionId = s_defaultPartitionId; } ISmartCacheActor actor = ActorProxy.Create <ISmartCacheActor>(new ActorId(partitionId), s_serviceUri); return(await actor.GetSmartCacheAsync(key)); }
/// <summary> /// 设置列表实例缓存。 /// </summary> /// <param name="partitionId">缓存分区Id,不同Id对应不同区。</param> /// <param name="key">缓存键。</param> /// <param name="values">缓存值。</param> /// <param name="options">缓存有效期配置</param> public async Task SetSmartCacheAsync(string partitionId, string key, List <Student> values, KolibreCacheOptions options) { if (key.IsNullOrEmpty()) { throw new ArgumentNullException(nameof(key)); } if (values == null || values.Count == 0) { throw new ArgumentNullException(nameof(values)); } if (partitionId.IsNullOrEmpty()) { partitionId = s_defaultPartitionId; } ISmartCacheActor actor = ActorProxy.Create <ISmartCacheActor>(new ActorId(partitionId), s_serviceUri); await actor.SetSmartCachesAsync(key, values, options); }
/// <summary> /// 移除缓存键中指定的缓存值。 /// </summary> /// <param name="partitionId">缓存分区Id,不同Id对应不同区。</param> /// <param name="key">缓存键。</param> /// <param name="value">被移除的缓存值。</param> public async Task RemoveSmartCacheAsync(string partitionId, string key, Student value) { if (key.IsNullOrEmpty()) { throw new ArgumentNullException(nameof(key)); } if (value == null) { throw new ArgumentNullException(nameof(value)); } if (partitionId.IsNullOrEmpty()) { partitionId = s_defaultPartitionId; } ISmartCacheActor actor = ActorProxy.Create <ISmartCacheActor>(new ActorId(partitionId), s_serviceUri); await actor.RemoveSmartCacheValueAsync(key, value); }
/// <summary> /// 移除缓存键中指定的缓存值。 /// </summary> /// <param name="partitionId">缓存分区Id,不同Id对应不同区。</param> /// <param name="key">缓存键。</param> /// <param name="values">被移除的缓存值。</param> public async Task RemoveSmartCachesAsync(string partitionId, string key, List <Teacher> values) { if (key.IsNullOrEmpty()) { throw new ArgumentNullException(nameof(key)); } if (values == null || values.Count == 0) { throw new ArgumentNullException(nameof(values)); } if (partitionId.IsNullOrEmpty()) { partitionId = s_defaultPartitionId; } ISmartCacheActor actor = ActorProxy.Create <ISmartCacheActor>(new ActorId(partitionId), s_serviceUri); await actor.RemoveTeacherSmartCacheValuesAsync(key, values); }