simple-redis-pool
Version:
Simplistic node redis pool ready can scale with generic-pool support
138 lines (102 loc) • 5.18 kB
Markdown
[](https://npmjs.org/package/simple-redis-pool)
[](https://travis-ci.org/pasupulaphani/simple-redis-pool)
[](https://coveralls.io/github/pasupulaphani/simple-redis-pool?branch=master)
[](https://www.versioneye.com/user/projects/583c0c58d2d44d004530834c)
[](https://gratipay.com/simple-redis-store/)
# simple-redis-pool [](https://github.com/pasupulaphani/simple-redis-pool)
Simplistic node redis pool ready can scale with generic-pool support
## Prerequisites
```node >= 4``` This module requires nodejs v4 or above as it has dependencies on es6 components such as Map, Set, Promise etc.
### Getting started
```
npm install simple-redis-pool
```
#### Usage
- Seemless execution of commands.
```
var RedisPool = require("simple-redis-pool");
var pool = new RedisPool();
pool.sendCommand("set", ["key", "value"])
```
- Want redis raw connection? you got it
```
pool.acquire()
.then(conn => {
// Do some work
// At the end release the conn back to the pool
pool.release(conn)
});
```
#### API
- RedisPool([options])
##### `options` object properties
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>name</code></td>
<td class="type">
<span class="param-type">string</span>
</td>
<td class="description last">
<p>Name your pool</p>
</td>
</tr>
<tr>
<td class="name"><code>redisOptions</code></td>
<td class="type">
<span class="param-type">object</span>
</td>
<td class="description last">
<p>opts from <a href="https://github.com/NodeRedis/node_redis#options-object-properties">node_redis#options-object-properties</a></p>
</td>
</tr>
<tr>
<td class="name"><code>poolOptions</code></td>
<td class="type">
<span class="param-type">object</span>
</td>
<td class="description last">
<p>opts from <a href="https://github.com/coopernurse/node-pool#createpool">node-pool#createpool</a></p>
</td>
</tr>
<tr>
<td class="name"><code>logger</code></td>
<td class="type">
<span class="param-type">object</span>
</td>
<td class="description last">
<p>Inject your custom logger</p>
</td>
</tr>
</tbody>
</table>
### Run tests
bash test.sh
## Contribute
[Discover how you can contribute by heading on over to the `CONTRIBUTING.md` file.](https://github.com/pasupulaphani/simple-redis-pool/blob/master/CONTRIBUTING.md)
## Backers
### Maintainers
These amazing people are maintaining this project:
* [Phani](https://github.com/pasupulaphani) — [view contributions](https://github.com/pasupulaphani/simple-redis-pool/commits?author=pasupulaphani)
### Sponsors
No sponsors yet! Will you be the first?
[](http://patreon.com/phaninder "Donate to this project using Patreon")
[](https://gratipay.com/~pasupulaphani/ "Donate weekly to this project using Gratipay")
[](https://flattr.com/profile/pasupulaphani "Donate to this project using Flattr")
<!-- [](https://phaninder.com/paypal "Donate to this project using Paypal") -->
<!-- [](https://phaninder.com/bitcoin "Donate once-off to this project using Bitcoin") -->
<!-- [](https://phaninder.com/wishlist "Buy an item on our wishlist for us") -->
### Contributors
These amazing people have contributed to/reviewed this project:
* [Oliver Brooks](https://github.com/oliverbrooks)
[Discover how you can contribute by heading on over to the `CONTRIBUTING.md` file.](https://github.com/pasupulaphani/simple-redis-pool/blob/master/CONTRIBUTING.md)
<br />
<script>(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');ga('create', 'UA-57413413-3', 'auto');ga('send', 'pageview');</script>
---