AWS Elasticache获取和设置

时间:2018-07-21 00:12:36

标签: node.js amazon-elasticache elastic-cache

我不了解Elasticache的工作原理,我想使用elasitcache将twitter的响应存储在缓存中,但是我需要知道如何存储数据的形式。

这是我认为可能的示例:

function getTweetFromCacheOrRequest(user, params) {
  /* This function return a promise that contains the tweets either
   * from cache or request */
    return new Promise(function (resolve, reject) {
      var tweets = elasticache.get(`user-${userId}`); // <- get the tweets of this user
      if (tweets && tweets.length > 2) {
        resolve(tweets);
      } else {
      if (!BEARER_TOKEN) // avoid a new request to twitter
        resolve({ error: true, error: [{ code: 89 }] });
      else
        twitterClient.get('statuses/user_timeline', params)
          .then((tweets) => {
            elasticache.set(`user-${userId}`, tweets); //<- set the tweets list of this user

            resolve(tweets);
          }).catch((err) => {
            resolve({ error: true, error: err });
          });
    }

  });
}

当然,这不是sintax,但我正在寻找某种方式来实现这一点,请记住,这可能是一个庞大的用户列表(我不在乎数据是否丢失,这是缓存)

您能帮我找到解决方法吗? 谢谢,

0 个答案:

没有答案