コード例 #1
0
        /// <inheritdoc />
        public IEnumerable <ITaskProcessorRuntimeInfo> GetAll()
        {
            IEnumerable <string> entityIds = this.provider.GetSet(RedisTaskProcessorRuntimeInfoRepository.EntitySetKey);

            List <ITaskProcessorRuntimeInfo> result = new List <ITaskProcessorRuntimeInfo>();

            using (IRedisPipeline pipeline = this.provider.CreatePipeline())
            {
                foreach (string entityId in entityIds)
                {
                    string entityKey = RedisTaskProcessorRuntimeInfoRepository.GetEntityKey(entityId);

                    pipeline.GetHash(entityKey, values =>
                    {
                        if (values.Count > 0)
                        {
                            result.Add(RedisTaskProcessorRuntimeInfoRepository.Convert(values));
                        }
                    });
                }

                pipeline.Flush();
            }

            return(result);
        }
コード例 #2
0
        /// <inheritdoc />
        public ITaskProcessorRuntimeInfo GetById(Guid taskProcessorId)
        {
            string entityKey = RedisTaskProcessorRuntimeInfoRepository.GetEntityKey(taskProcessorId);

            IReadOnlyDictionary <string, string> values = this.provider.GetHashAsText(entityKey);

            if (values.Count == 0)
            {
                return(null);
            }

            return(RedisTaskProcessorRuntimeInfoRepository.Convert(values));
        }