{"id":45146,"library":"integreat-adapter-redis","title":"Integreat Redis Adapter","description":"A Redis adapter for the Integreat data integration library, allowing Integreat to read and write data to Redis databases. Version 0.4.7 is the latest stable release, with occasional updates. It wraps node_redis and supports connection options, prefix-based namespacing, and concurrency control. Differentiators: specialized for Integreat's action-based data flow, with built-in support for key/value storage, list operations, and TTL management. Requires Node >=14 and Integreat v0.8.","status":"active","version":"0.4.7","language":"javascript","source_language":"en","source_url":"https://github.com/integreat-io/integreat-adapter-redis","tags":["javascript","typescript"],"install":[{"cmd":"npm install integreat-adapter-redis","lang":"bash","label":"npm"},{"cmd":"yarn add integreat-adapter-redis","lang":"bash","label":"yarn"},{"cmd":"pnpm add integreat-adapter-redis","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"Redis client (node_redis) used for database connectivity","package":"redis","optional":false},{"reason":"Peer dependency; adapter designed to work with Integreat v0.8+","package":"integreat","optional":false}],"imports":[{"note":"The package uses a default export. Named import will not work.","wrong":"import { redisAdapter } from 'integreat-adapter-redis'","symbol":"redisAdapter","correct":"import redisAdapter from 'integreat-adapter-redis'"},{"note":"CJS require returns the default export directly, no need to destructure default.","wrong":"const { default: redisAdapter } = require('integreat-adapter-redis')","symbol":"default","correct":"const redisAdapter = require('integreat-adapter-redis')"},{"note":"For type imports, use 'import type' to avoid runtime side effects. The type is not a value export.","wrong":"import { AdapterOptions } from 'integreat-adapter-redis'","symbol":"Types (TypeScript)","correct":"import type { AdapterOptions } from 'integreat-adapter-redis'"}],"quickstart":{"code":"import integreat from 'integreat';\nimport redisAdapter from 'integreat-adapter-redis';\n\nconst resources = integreat.resources({\n  transporters: { redis: redisAdapter }\n});\n\nconst great = Integreat.create(defs, resources);\n\n// Example source configuration\nconst sourceConfig = {\n  id: 'store',\n  adapter: 'redis',\n  endpoints: [{\n    options: {\n      prefix: 'store',\n      redis: { host: 'localhost', port: 6379 },\n      concurrency: 5,\n      useTypeAsPrefix: true\n    }\n  }]\n};","lang":"typescript","description":"Shows how to import the Redis adapter, create Integreat with the adapter, and define a source configuration for Redis."},"warnings":[{"fix":"Set useTypeAsPrefix: false in endpoint options if you don't want the type to be prepended to keys.","message":"The adapter uses 'useTypeAsPrefix' defaulting to true, which may cause unexpected key names if not configured.","severity":"gotcha","affected_versions":">=0.0.0"},{"fix":"Upgrade Integreat to v0.8+.","message":"Requires Integreat v0.8 or higher; older versions are incompatible.","severity":"breaking","affected_versions":">=0.0.0"},{"fix":"Monitor for updates that might switch to redis v4, or pin to older node_redis.","message":"The underlying node_redis package is deprecated in favor of 'redis' v4, but this adapter still uses node_redis.","severity":"deprecated","affected_versions":">=0.4.0"},{"fix":"Validate redis options against node_redis documentation before passing.","message":"The adapter passes redis options directly to redis.createClient(); invalid options may cause connection errors without clear messages.","severity":"gotcha","affected_versions":">=0.0.0"},{"fix":"Set concurrency to a conservative value based on your Redis server capacity (e.g., 5-10).","message":"Concurrency setting controls the maximum number of parallel requests to Redis, but setting too high may overwhelm the server.","severity":"gotcha","affected_versions":">=0.0.0"}],"env_vars":null,"search_vec":"'0.4.7':24 '14':73 'action':54 'action-bas':53 'adapt':3,6 'allow':13 'base':43,55 'built':60 'built-in':59 'concurr':46 'connect':39 'control':47 'data':10,19,56 'databas':22 'differenti':48 'flow':57 'integr':11 'integreat':1,9,14,51,75 'javascript':77 'key/value':64 'latest':27 'librari':12 'list':66 'manag':70 'namespac':44 'node':35,72 'occasion':31 'oper':67 'option':40 'prefix':42 'prefix-bas':41 'read':16 'redi':2,5,21,36 'releas':29 'requir':71 'special':49 'stabl':28 'storag':65 'support':38,62 'ttl':69 'typescript':78 'updat':32 'v0.8':76 'version':23 'wrap':34 'write':18","created_at":"2026-06-07T12:53:35.503597+00:00","updated_at":"2026-06-07T12:53:35.503597+00:00","problems":[{"fix":"Install an older version of node_redis: npm install redis@3","cause":"Using a newer version of the 'redis' package (v4) which has a different API (createClient is not a function).","error":"TypeError: redis.createClient is not a function"},{"fix":"Update Integreat to v0.8+: npm install integreat@0.8","cause":"Integreat version is below 0.8, which is incompatible.","error":"Error: Integreat v0.8 or higher required."},{"fix":"Ensure Redis server is running on the specified host and port, or update the redis options in endpoint config.","cause":"Redis server is not running or address/port is incorrect.","error":"Error: Redis connection to localhost:6379 failed - connect ECONNREFUSED"}],"ecosystem":"npm","meta_description":null,"install_score":null,"quickstart_score":null,"quickstart_tag":null,"pypi_latest":null,"cli_name":null,"cli_version":null,"type":"library","homepage":"https://github.com/integreat-io/integreat-adapter-redis#readme","github":"https://github.com/integreat-io/integreat-adapter-redis","docs":null,"changelog":null,"pypi":null,"npm":"integreat-adapter-redis","openapi_spec":null,"status_page":null,"smithery":null,"categories":["database"],"base_url":null,"auth_type":null,"provenance":{"verified_status":null,"verified_at":null,"last_verified":"2026-06-07","next_check":"2026-09-05","install_tag":null}}