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

loopback-connector-memcached

Package Overview
Dependencies
Maintainers
1
Versions
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

loopback-connector-memcached

Loopback connector for memcached backend

  • 1.0.1
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
4
decreased by-20%
Maintainers
1
Weekly downloads
 
Created
Source

loopback-connector-memcached

Memcached loopback.io connector. Please fork and enhance or file a bug ticket if you discover any issues.

Why?

Why not? This is was more of a learning exercise to get acclimated to Loopback.io, however, someone may find it useful.

Use cases

  • Query Memcached nodes via HTTP
  • Common interface (Client.find(), Client.findOne(), etc)

Usage

To effectively use this connector, you need to create a model with the following properties:

  • /common/models/memcached.json
yo loopback:model
>> enter model name (ie: Memcached)
  • id - Key to use for caching item
  • data - Data to cache
  • ttl - The time to live for the cached item
{
  "name": "cache",
  "plural": "cache",
  "base": "PersistedModel",
  "idInjection": false,
  "properties": {
    "id": {
      "type": "string",
      "required": true,
      "id": true,
      "index": true
    },
    "data": {
      "type": "string",
      "required": true
    },
    "ttl": {
      "type": "number",
      "required": false
    }
  },
  "validations": [

  ],
  "relations": {

  },
  "acls": [

  ],
  "methods": [

  ]
}

Sample Model JS (ie: memcached.js)

  • /common/models/memcached.js
module.exports = function(Cache) {
  // Add additional remote methods
  Cache.remoteMethod('<name>', {
    // config
  })
};

Sample datasources.json

{
  "db": {
    "name": "db",
    "connector": "memory"
  },
  "memcached": {
    "name": "memcached",
    "connector": "memcached",
    "hosts": [
      "localhost:11211"
    ],
    "options": {
      "retries": 10,
      "retry": 10000,
      "remove": true,
      "failOverServers": []
    }
  }
}

Sample boot script (accounts.js)

  • /server/boot/accounts.js
module.exports = function(app) {
  var Cache = app.models.Cache;

  var Model = app.models.Memcached;
  var model = new Model({
    id: <id>,
    data: <data>,
    ttl: <ttl>
  });

  if (model.isValid(function(valid) {
    if (!valid) {
      throw new Error(model.errors[0]);
    }

    Cache.create(model, function(e, res) {

       // find item
       Cache.find({id: 300}, function(e, res) {
         console.log('found', e,res);
       });

       // find one -- same as find
       Cache.findOne({id: 300}, function(e, res) {
         console.log('found 2', e,res);
       });

       // get num records
       Cache.count(function(e, res) {
         console.log(arguments);
       });
     });
  });
};

Keywords

FAQs

Package last updated on 25 Mar 2015

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