private bool TryGetCachedSynonym(string synonymCacheKey, RuntimeCacheAdapter cache, out Dictionary <String, HashSet <String> > synonymsCached) { synonymsCached = cache.Get <Dictionary <String, HashSet <String> > >(synonymCacheKey); if (synonymsCached == null) { return(false); } return(true); }
public Dictionary <String, HashSet <String> > GetSynonyms(int synonymBatchSize, RuntimeCacheAdapter cache, StaticCachePolicy staticCachePolicy) { var statisticLanguageTags = GetStatisticLanguageTags(); string synonymCacheKey = GetSynonymCacheKey(statisticLanguageTags); Dictionary <String, HashSet <String> > synonymsCached; if (TryGetCachedSynonym(synonymCacheKey, cache, out synonymsCached)) { return(synonymsCached); } var loadedSynonyms = LoadSynonymsFromSourceIndex(synonymBatchSize, statisticLanguageTags); var synonymDictionary = CreateSynonymDictionary(loadedSynonyms); cache.AddOrUpdate(synonymCacheKey, staticCachePolicy, synonymDictionary); return(synonymDictionary); }