Sometimes, we need to delete all keys in all databases. This tutorial talks about how to delete keys in the Redis server database. It includes the following items.

  • Delete everything in all databases in Redis Server
  • Delete all keys in a current database?
  • How to empty a Redis database?

How to delete all keys in all databases?

There are two commands used with the redis-cli command-line utility.

  • FLUSHDB:

Delete all keys from the current connection database.

Syntax

FLUSHDB [Mode]

MODE is a modifier for flushing the database. ASYNC | SYNC. ASYNC: Deleting keys with asynchronous. It was added since Redis 4.0.0 version SYNC: Delete keys synchronously, Added since Redis 6.0.0 version

Here is an example to run with the redis-cli command

A:\Java\Redis>redis-cli flushdb
OK

The below command runs in CLI mode.

A:\Java\Redis>redis-cli
127.0.0.1:6379> flushdb
OK
  • FLUSHALL

Delete everything including all keys from all databases in a server. It means wiping out the entire data on the server.

Syntax

FLUSHALL [Mode]

MODE is a modifier for flushing all databases in a server. Values are ASYNC | SYNC. ASYNC: Deleting keys with asynchronous. It was added since Redis 4.0.0 version SYNC: Delete keys synchronously, Added since Redis 6.0.0 version

Here is an example to run with the redis-cli command

A:\Java\Redis>redis-cli flushall
OK

The below command runs in CLI mode.

A:\Java\Redis>redis-cli
127.0.0.1:6379> flushall
OK

Here is a complete example

  • List all keys in the database using the keys * command, Initially empty list.
  • Also, the Database is empty
  • Next add, two keys - id and name
  • list the keys using the keys command
  • Run, flushdb command, removes all keys in the current database
  • Run, the keys command and show an empty list

Here is a sequence of steps

127.0.0.1:6379> keys *
(empty list or set)
127.0.0.1:6379> info keyspace
# Keyspace
127.0.0.1:6379> set  id 11
OK
127.0.0.1:6379> keys *
1) "id"
127.0.0.1:6379> set  name "john"
OK
127.0.0.1:6379> keys *
1) "name"
2) "id"
127.0.0.1:6379> keys *
1) "name"
2) "id"
127.0.0.1:6379> flushdb async
OK
127.0.0.1:6379> keys *
(empty list or set)
127.0.0.1:6379>

Another way delete rdb and aof files.

- stop the Redis server
- Delete rdb and aof files
- Start Redis Server
- It starts with an empty and blank database.


## How to delete LUA scripts from the Redis database?

It provides SCRIPT FLUSH Command to delete all LUA scripts from the database instance.

It deletes all scripts from the scripts cache.

Syntax:

```bash
SCRIPT FLUSH [Mode]

MODE is a modifier for flushing all scripts in a server. Values are ASYNC | SYNC. ASYNC: Deleting scripts with asynchronous. It was added since Redis 4.0.0 version SYNC: Delete scripts synchronously, Added since Redis 6.0.0 version

Here is an example

127.0.0.1:6379> script flush
OK