New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@twitter-api-v2/plugin-cache-redis

Package Overview
Dependencies
Maintainers
1
Versions
4
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@twitter-api-v2/plugin-cache-redis

Wrap request caching in Redis for twitter-api-v2

  • 1.0.3
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
5
decreased by-97.09%
Maintainers
1
Weekly downloads
 
Created
Source

@twitter-api-v2/plugin-cache-redis

Cache requests of twitter-api-v2 using a Redis server

Usage

import { createClient } from 'redis'
import { TwitterApi } from 'twitter-api-v2'
import { TwitterApiCachePluginRedis } from '@twitter-api-v2/plugin-cache-redis'

const redisInstance = createClient()
const client = new TwitterApi(yourKeys, { plugins: [new TwitterApiCachePluginRedis(redisInstance)] })

// First request: download from Twitter
await client.v2.me()

// Second request: served from Redis
await client.v2.me()

// One parameter has changed: new request to Twitter
await client.v2.me({ expansions: ['pinned_tweet_id'] })

Behaviour

  • Requests are not scoped by user, so the same request for different users will be cached under the same key. You can extend TwitterApiCachePluginRedis class to implement a different strategy.

  • Default TTL is when rate limit expires. It means that request cache will be automatically deleted when your rate limit for a given endpoint is reset.

    You can edit this by setting the ttl options:

    const redisPlugin = new TwitterApiCachePluginRedis(redisInstance, { ttl: 60000 }) // 60 seconds (in milliseconds)
    

    Use 0 to disable TTL.

  • If you leave default TTL option (reset), you should define a strategy to apply when a request without rate limit information comes in. Default strategy is to apply a TTL of 15 minutes.

    You can edit this by setting the ttlIfNoRateLimit options:

    const redisPlugin = new TwitterApiCachePluginRedis(redisInstance, { ttlIfNoRateLimit: 60000 }) // 60 seconds (in milliseconds)
    

    Use 0 to disable TTL. This option has no effect of ttl is a number.

Keywords

FAQs

Package last updated on 16 May 2022

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc