{"id":46332,"library":"seneca-redis-store","title":"seneca-redis-store","description":"A Seneca.js data storage plugin that uses Redis to persist data. Current stable version is 1.1.0. It supports Seneca versions 1.x through 3.x. The plugin integrates as an underlying storage engine for the Seneca entity API, allowing CRUD operations via save$, load$, list$, and remove$. It differs from other Seneca stores by leveraging Redis for in-memory persistence with optional persistence to disk. The package is relatively stable but not actively maintained, with infrequent releases.","status":"maintenance","version":"1.1.0","language":"javascript","source_language":"en","source_url":"git://github.com/senecajs/seneca-redis-store","tags":["javascript","seneca","data","store","redis","plugin"],"install":[{"cmd":"npm install seneca-redis-store","lang":"bash","label":"npm"},{"cmd":"yarn add seneca-redis-store","lang":"bash","label":"yarn"},{"cmd":"pnpm add seneca-redis-store","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"Seneca framework is required to use this plugin; the plugin registers as a storage layer within Seneca.","package":"seneca","optional":false}],"imports":[{"note":"The plugin is not imported directly; it is used via Seneca's use() method. The require() returns an object, but it must be passed to seneca.use().","wrong":"const store = require('seneca-redis-store')","symbol":"seneca-redis-store","correct":"seneca.use('redis-store', opts)"},{"note":"seneca.make$() is a factory method, not a constructor. It does not require 'new'.","wrong":"const apple = new seneca.make$('fruit')","symbol":"entity","correct":"const apple = seneca.make$('fruit')"},{"note":"The callback must be a function reference, not an invocation. Also common to forget error-first callback pattern.","wrong":"apple.save$(callback())","symbol":"save$","correct":"apple.save$(function(err, apple) { ... })"}],"quickstart":{"code":"const seneca = require('seneca')();\n\nconst opts = {\n  'redis-store': {\n    uri: 'redis://localhost:6379'\n  }\n};\nseneca.use('redis-store', opts);\nseneca.ready(function() {\n  const apple = seneca.make$('fruit');\n  apple.name = 'Pink Lady';\n  apple.price = 0.99;\n  apple.save$(function(err, savedApple) {\n    if (err) {\n      console.error(err);\n      return;\n    }\n    console.log('apple.id = ' + savedApple.id);\n    apple.load$({id: savedApple.id}, function(err, loaded) {\n      if (err) {\n        console.error(err);\n        return;\n      }\n      console.log('Loaded:', loaded.name);\n    });\n  });\n});","lang":"javascript","description":"Shows how to register the redis store plugin, create an entity, save it, and load it back."},"warnings":[{"fix":"Consider migrating to seneca-entity with a dedicated Redis store plugin if available.","message":"The package is in maintenance mode; new development is focused on seneca-entity stores.","severity":"deprecated","affected_versions":">=1.0.0"},{"fix":"Pin node_redis version if needed, or use Redis options to configure client.","message":"The node_redis client used internally may have breaking changes between major versions. Ensure compatibility with the version bundled.","severity":"gotcha","affected_versions":">=1.0.0"},{"fix":"Ensure Redis is running and accessible at the configured URI.","message":"Requires a running Redis instance; no fallback to in-memory storage.","severity":"gotcha","affected_versions":">=0.0.0"},{"fix":"Wrap calls in a Promise or use util.promisify if needed.","message":"Errors are returned via callback; Promises not natively supported.","severity":"gotcha","affected_versions":">=1.0.0"}],"env_vars":null,"search_vec":"'1':25 '1.1.0':20 '3':28 'activ':78 'allow':43 'api':42 'crud':44 'current':16 'data':7,15,85 'differ':53 'disk':70 'engin':37 'entiti':41 'in-memori':62 'infrequ':81 'integr':32 'javascript':83 'leverag':59 'list':49 'load':48 'maintain':79 'memori':64 'oper':45 'option':67 'packag':72 'persist':14,65,68 'plugin':9,31,88 'redi':3,12,60,87 'relat':74 'releas':82 'remov':51 'save':47 'seneca':2,23,40,56,84 'seneca-redis-stor':1 'seneca.js':6 'stabl':17,75 'storag':8,36 'store':4,57,86 'support':22 'under':35 'use':11 'version':18,24 'via':46 'x':26,29","created_at":"2026-06-07T12:59:24.089953+00:00","updated_at":"2026-06-07T12:59:24.089953+00:00","problems":[{"fix":"Run 'npm install seneca-redis-store' and call seneca.use('redis-store', opts).","cause":"seneca-redis-store not installed or not registered via seneca.use().","error":"Plugin not found: redis-store"},{"fix":"Verify that the entity was saved first with a successful callback.","cause":"The entity ID does not exist in Redis.","error":"Reply error: entity not found for load$"},{"fix":"Start Redis server or check the connection string.","cause":"Redis server not running or incorrect host/port.","error":"Error: Redis connection refused"}],"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/senecajs/seneca-redis-store","github":"git://github.com/senecajs/seneca-redis-store","docs":null,"changelog":null,"pypi":null,"npm":"seneca-redis-store","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}}