UNPKG

@condor-labs/redis

Version:

This module provide and usefull helper to use the official Node_redis library.

138 lines (102 loc) 3.58 kB
This module provide and usefull helper to use the official Node_redis library. See official documentation [here](https://github.com/NodeRedis/node_redis). ## Compatibility The minimum supported version of Node.js is v14. ## How to use it To use the library you just need to follow the following steps Install the library with npm ```js npm install @condor-labs/redis ``` Import the library: ```js const redis = require('@condor-labs/redis')(settings); ``` ### `settings` object properties | Property | Default | Description | |-----------|-----------|-------------| | socket.host *(String)* | 127.0.0.1 | IP address of the Redis server | | socket.port *(Number)* | 6379 | Port of the Redis server | | password *(String)* | null | If set, client will run Redis auth command on connect.| | clientName *(String)* | hostname | If set, client will have an alias name in the connection.| ## What's new? - new parameter to set the conection name by default it will set the hostname of the machine as name - set name of connection for every client - `getClient(false,true)` turn on the feature to remove clients with the same name in the same ip domain - new paramether for get client `getClient: async (forceReconnect = false, verifyUniqueConnection = false)` - Update all libraries to last version ``` "chai": "4.3.6", "jest": "29.0.1", "sinon": "14.0.0" "redis": "~4.3.0" ``` ### Breaking changes - Connection setting object had a new schema - `getClient()` receive an object of option like `(forceReconnect,verifyUniqueConnection)` ### Features - All commands are returns a promise by default - New parameter to set the conection name by default it will set the hostname of the machine as name - `getClient({verifyUniqueConnection:true})` feature to remove clients with the same name ## Examples **constants.js** ```js module.exports = { settings:{ socket: { port: 1234, host: 'redis-99999.c11.us-xxx-##.redis.com', }, clientName: 'connection_alias', password: '****' }, keyName: 'test:condorlabs-npm-helpers:counter' }; ``` **index.js** ```js const { settings, keyName } = require('./constants'); try { const redis = require('@condor-labs/redis')(settings); (async () => { // get client let client = await redis.getClient(); // prepare and execute batch in redis const data = await client.get(keyName); // validate response console.log(data); // close app process.exit(1); })(); } catch (error) { console.error(error) } ``` ## How to Publish ### Increasing package version You will need to update the `package.json` file placed in the root folder. identify the property `version` and increase the right number in plus one. ### Login in NPM by console. ```sh npm login [Enter username] [Enter password] [Enter email] ``` If all is ok the console will show you something like this : `Logged in as USERNAME on https://registry.npmjs.org/.` ### Uploading a new version ```sh npm publish --access public ``` Ref: [https://docs.npmjs.com/getting-started/publishing-npm-packages](https://docs.npmjs.com/getting-started/publishing-npm-packages) ``` Note: you will need to have a NPM account, if you don't have one create one here: https://www.npmjs.com/signup ``` ## Contributors The original author and current lead maintainer of this module is the [@condor-labs development team](https://condorlabs.io/team). **More about Condorlabs [Here](https://condorlabs.io/about).** ## License [MIT](LICENSE)