@condor-labs/redis
Version:
This module provide and usefull helper to use the official Node_redis library.
138 lines (102 loc) • 3.58 kB
Markdown
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)