/// <summary> /// Caches a set of jobs along with the query that returned them /// </summary> /// <param name="query">The query.</param> /// <param name="jobs">The jobs.</param> public void CacheJobs(JobSearchQuery query, JobSearchResult jobs) { if (query == null || jobs == null) { return; } _cache.Set(_cacheKeyPrefix + "Jobs-" + query.ToHash(), jobs, CalculateCacheTime()); }
/// <summary> /// Reads the jobs matching a specific query /// </summary> /// <param name="query">The query.</param> /// <returns> /// Matching jobs, or <c>null</c> if the result is not in the cache /// </returns> public JobSearchResult ReadJobs(JobSearchQuery query) { if (query == null) { return(null); } var hash = query.ToHash(); if (_cache[_cacheKeyPrefix + "Jobs-" + hash] != null) { return(_cache[_cacheKeyPrefix + "Jobs-" + hash] as JobSearchResult); } return(null); }