# flush-redis-keys

> flush multiple redis keys using scan and pipeline from a huge redis database by using prefix, middle or suffix of keys from any redis database.

Latest version **1.0.3** (published 2020-08-09) · ISC license · 0 weekly downloads

## Install

```sh
npm install flush-redis-keys
pnpm add flush-redis-keys
yarn add flush-redis-keys
bun add flush-redis-keys
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.0.3 |
| Published | 2020-08-09 |
| First published | 2020-08-09 |
| Weekly downloads | 0 |
| License | ISC |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 2 |
| Unpacked size | 6.9 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 0 |
| Author | abhijeet singh bhadouria |
| Maintainers | abhijeet.badouriya |
| Keywords | redis, flush-redis-keys, redis, keys, scan, pipelining, pipeline, redis, scan, delete, redis, keys |

## Links

- npm: https://www.npmjs.com/package/flush-redis-keys
- Repository: https://github.com/abbey007/delete-redis-key-using-scan
- Homepage: https://github.com/abbey007/delete-redis-key-using-scan#readme
- Issues: https://github.com/abbey007/delete-redis-key-using-scan/issues
- npm.io page: https://npm.io/package/flush-redis-keys

## Dependencies (2)

- [ioredis](https://npm.io/package/ioredis.md) ^4.17.3
- [bluebird](https://npm.io/package/bluebird.md) ^3.7.2

## Alternatives

- [memory-cache](https://npm.io/package/memory-cache.md) — 795.0K weekly downloads
- [@httptoolkit/proxy-agent](https://npm.io/package/@httptoolkit/proxy-agent.md) — 11.2K weekly downloads
- [express-cache-controller](https://npm.io/package/express-cache-controller.md) — 5.3K weekly downloads
- [http-cache-middleware](https://npm.io/package/http-cache-middleware.md) — 4.5K weekly downloads
- [cache2](https://npm.io/package/cache2.md) — 1.5K weekly downloads

## Recent versions

- 1.0.3 (latest) — 2020-08-09
- 1.0.2 — 2020-08-09

## README

A robust, performance focused package to flush redis keys.

Supports Redis >= 3.0.6 and (Node.js >= 8).

# Features

flush-redis-keys is robust and fully featured pacakge to delete redis keys from small or large redis databases.
It can be used to delete multiple redis keys from a huge redis database by using prefix, middle or suffix of keys from any redis database.

1) It is simple to use by only providing redis key prefix,middle or suffix to delete redis keys. ie abc_, _abc_, _abc
2) It uses ioredis to connect with redis.
3) Supports Redis sentinel.
4) Uses redis scan to get all matching keys without the downside of blocking the server for a long time.
5) Use redis pipeline to delete multiple redis keys.

## Install

```shell
$ npm install flush-redis-keys
```

## Usage

```js

'use strict'

/* 
    This code snippet used to delete all the redis keys having prefix abc_
    from redis database 1.
*/

const  redisFlush  = require('flush-redis-keys');

const deleteRedisKeys = async () => {

    /* 
        host:  can be multipe in case of redis sentinal with diffrent ports
        order: order can be pre, middle or post
        redisKey : It is the redis key prfix, suffix or middle
    */
    let params = {
        "redisKey": "abc_",
        "order": "pre",
        "redisInfo": {
            host: [
                { "host": "127.0.0.1", "port": 26379 },
                { "host": "127.0.0.1", "port": 26381 },
                { "host": "127.0.0.1", "port": 26383 }
            ],
            password : "",
            database: 1
        }
    }

    redisFlush(params, (err,data) => {
        if(err)
            console.log(err)

        console.log(data);
    });

}

```

Another Example to delete redis keys to match middle or suffix

```js

let params = {
        "redisKey": "_abc",
        "order": "post",
        "redisInfo": {
            host: [
                { "host": "127.0.0.1", "port": 26379 },
                { "host": "127.0.0.1", "port": 26381 },
                { "host": "127.0.0.1", "port": 26383 }
            ],
            password : "",
            database: 1
        }
}

let params = {
        "redisKey": "_abc_",
        "order": "middle",
        "redisInfo": {
            host: [
                { "host": "127.0.0.1", "port": 26379 },
                { "host": "127.0.0.1", "port": 26381 },
                { "host": "127.0.0.1", "port": 26383 }
            ],
            password : "",
            database: 1
        }
}

```

---
_Source: https://npm.io/package/flush-redis-keys · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
