# Basic Redis Commands

When working with Redis, understanding the fundamental commands is crucial for efficient data management. In this article, we’ll delve into the essential commands for interacting with Redis, focusing on CRUD operations—Create, Read, Update, and Delete. By the end of this guide, you’ll be equipped with the knowledge to perform key operations that form the backbone of any Redis-based application.

## Creating Data in Redis

Creating data in Redis is primarily handled by the `SET` command for string data types, as well as various commands for other data structures. 

### SET Command

The `SET` command is used to store a string value associated with a key. Here’s the basic syntax:

```bash
SET key value

Example

SET user:1 "John Doe"

In this example, we create a new key called user:1 and assign it the value "John Doe".

Adding Data to Lists

Lists are another important data structure in Redis. You can add elements to a list using the LPUSH or RPUSH commands.

LPUSH Command

LPUSH adds one or multiple elements to the front of a list.

LPUSH mylist "first"
LPUSH mylist "second"

RPUSH Command

RPUSH adds elements to the end of the list.

RPUSH mylist "third"

Creating Sets and Hashes

To add elements to a set, use SADD. For hashes, use HSET.

SADD Command

SADD myset "apple"
SADD myset "banana"

HSET Command

HSET user:1 name "John Doe" age "30"

With these commands, you can effortlessly create data within Redis using various structures.

Reading Data from Redis

Once you have data stored in Redis, you’ll want to retrieve it. Redis provides several commands for this purpose.

GET Command

To retrieve the value of a string stored under a specific key, use the GET command:

GET user:1

This command will return "John Doe".

Reading Lists

Use the LRANGE command to fetch elements from a list.

LRANGE Command

LRANGE mylist 0 -1

This command retrieves all the elements from mylist.

Reading Sets

To check if an item exists in a set, use SISMEMBER:

SISMEMBER myset "apple"

This will return 1 if "apple" is in myset, or 0 if it is not.

Reading Hashes

For hash data structures, the HGET and HGETALL commands are useful.

HGET Command

HGET user:1 name

This command will return "John Doe".

HGETALL Command

HGETALL user:1

This retrieves all key-value pairs in the hash stored at user:1.

Updating Data in Redis

Updating data in Redis is straightforward, particularly with string values and other data structures.

Updating Strings with SET

You can update the value of a string key by simply using the SET command again:

SET user:1 "Jane Doe"

Updating Lists

For lists, you can use the LSET command to update an element at a specific index.

LSET Command

LSET mylist 0 "updated first"

This command changes the first element of mylist to "updated first".

Updating Sets

Although sets do not have an "update" operation per se, you can remove an existing member and add a new one:

SREM myset "apple"
SADD myset "orange"

Updating Hashes

HSET can also be used to update an existing field in a hash:

HSET user:1 age "31"

Deleting Data from Redis

Deleting data in Redis can be accomplished using several commands, depending on the data type.

DEL Command

The DEL command removes a key and its associated value from Redis:

DEL user:1

This command deletes the user:1 key and all related data.

Deleting Elements from Lists

To remove an element from a list, you can use the LREM command:

LREM mylist 1 "second"

This removes one occurrence of "second" from mylist.

Deleting from Sets

For sets, you can use the SREM command to remove specific elements:

SREM myset "banana"

Deleting Hash Fields

To remove a field from a hash, use the HDEL command:

HDEL user:1 age

This deletes the age field from the user:1 hash.

Additional Useful Commands

Aside from the basic CRUD operations, there are several other useful commands in Redis that enhance its capabilities.

EXISTS Command

Check if a key exists:

EXISTS user:1

This command returns 1 if the key exists, or 0 if it does not.

TTL Command

To check the time-to-live for a key, use TTL:

TTL user:1

This will return the remaining time in seconds before the key expires, or -1 if the key does not have an expiration time.

FLUSHALL Command

To delete all keys in the current database, you can use the FLUSHALL command:

FLUSHALL

Be cautious when using this command, as it will remove all data from the database!

Conclusion

Redis provides a simple yet powerful set of commands for managing data. Mastering these basic commands will enable you to efficiently create, read, update, and delete data within your Redis databases. Whether you’re building scalable web applications, caching layers, or real-time analytics solutions, a solid understanding of Redis commands is essential.

Now that you've got a grip on these fundamental commands, you're well on your way to leveraging the full power of Redis in your projects. Happy coding!