The Redis database can grow to a considerable size over time. Sometimes you may need to know all the database records to remember some elements or to understand the logic. It is not a problem in Redis. However, before I give you a ready-made command, I will present you with the basics of Redis and commands.
What is Redis?
NoSQL databases have been around for a long time in the IT world. Initially, they were treated as a curiosity, then delighted users with their efficiency in small projects. But now, these are mature solutions you see daily in large projects where efficiency is in the first place.
Redis is a key-value database that stores data in RAM, making it exceedingly efficient. However, behind the efficiency is the volatility of data, which in some cases is unacceptable. Redis allows you to configure the database and dump data to a file on the disk from time to time. It has some consequences, and in this case, it will be a decrease in performance.
If you want to learn more about the basics of Redis, read our article about what is Redis.
Application of Redis
Redis has many uses, for example:
- Cache: the most common use due to its very high efficiency.
- Support for queries: this is a slightly less common solution but excellent for an uncomplicated queuing system.
- Storing user sessions: an alternative solution to files or a database.
To explore REDIS, you need an environment. I suggest you use Docker or Linux. If you want to do it in Windows, you can install Docker or Linux on a virtual machine. There are a lot of Linux distributions, and I don’t want to focus here on the differences in the installation and versions of REDIS.
Installation is straightforward and comes down to the following command.
sudo apt-get install redis-server
After the installation is complete, if no error message appears, REDIS should be installed and started.
We can connect to REDIS on standard port 6379. Depending on the programming language, we have many libraries at our disposal. The REDIS server comes with a client application that we can use for testing. Depending on the chosen method of server installation, we will launch the client slightly differently.
When choosing your fast VPS server, you need to install the operating system. In most cases, it will be Linux. Read this article and discover the best Linux distributions for hosting!
Since you already have a server and an application that allows you to work with REDIS, it’s time to learn the basic commands.
Basic commands
SET key
The command sets a value to the specified key. For example, SET hosting “UltaHost” creates the hosting key with the “UltaHost” value. Execution of the command results in returning a message about the success of saving the data in the database.
GET key
The command reads the value under the given key. Executing the command will return the value under the given key (e.g., “hosting”). If you refer to a non-existent key, you will get an error (nil).
DEL key
The command removes the key. After the removal, you will get the message “(integer) 1”. You will receive a “(integer) 0” message if something won’t work.
EXIST key
Checks whether the specified key or the entire list of keys exists. You will get the value (integer) 1 when the key exists and (integer) 0 if not. In addition to checking for the existence of a single key, you can pass a whole list of keys.
EXPIRE key seconds
Sets the time after which the key and value will be removed from the database. For example, EXPIRE user_1234 60 will set the time to 60 seconds for the user_1234.
KEYS pattern
Searches for all keys matching the given pattern. For example, KEYS user_* will return a list of keys that match the defined pattern. If there is no matching key, you will receive a message (empty list or set).
PERSIST key
Disables key expiration or removes the expiration time for the key.
RENAME key new-key
The command changes the name of the key to the new-key.
TYPE key
It returns the type of the value stored under the specified key. So far, you have only operated on strings, but it is not the only type that REDIS can store. You can use specific commands for a given data type.
Data types
The advanced type support in REDIS increases the capabilities of this database.
Strings
Strings of characters are perhaps the most commonly used data type. The popularity is due to the fact that you can put JSON, XML, and any other text there, which means that you have almost no restrictions. In addition, REDIS does not analyze the content of the transmitted data in any way, which guarantees its immutability.
For each data type, you will find commands that are designed for that type.
Lists
It is a type that you can compare to an array of strings. Access to the data in the list is done in the order of addition or based on the index number. The lists themselves can be gigantic collections, as they can contain over 4 billion items.
To create a list, add the first element to it. You can do this with the LPUSH or RPUSH command. Both of these commands are responsible for adding one or more items to the list. The difference is that LPUSH adds items to the top of the list, and RPUSH adds items to the end of the list.
Hashes
They are associative arrays. Up until now, added elements had only a key and a value. Associative arrays extend the possibilities by defining attributes for a given key. This structure gives you the impression of working with records in a database.
You can define a new item that will be a simple mapping of a user from the database. It will have the attribute name and email, and the key will be the identifier preceded by the user_ prefix.
hmset user_1 name “Jon Snow” email [email protected]
Having a user added this way, you may display all the information by the HGETALL command. As a result, you will get a list, where the field is displayed sequentially and then the value.
Sets
Sets are very similar to lists, except that they contain unique and unordered values. It makes it a much more efficient type than lists, and if you plan to have a lot of items that you will modify or search frequently, then you should use collections.
To make Redis work effectively, you need to have a well-optimized and fast server. Choose hosting from UltaHost and enjoy the performance of Redis!
How to check all keys in Redis?
Now that you know the basic concepts of Redis, I can get to the point. As you already know, to get a specific target, you will use the GET command. However, to list all the keys in the Redis database, you need to use another command: KEYS. Just enter KEYS followed by a specific pattern, and Redis will search the database for all keys that match that pattern.
If you want a list of all keys, use the asterisk (*). So the command:
KEYS *
should return all the keys in the database.
You can also use redis-cli to get a list of all keys using the following syntax:
$ redis-cli KEYS \*
Or you can limit the keys returned with a pattern. For example
$ redis-cli KEYS V*
will return all records starting with the letter V
Conclusion
REDIS has a lot of potential for a key-value database, and the elements contained here are just an introduction to the basics. It all needs to become completely obvious to you before you can move on to more advanced things like implementing a cache for your application or creating a simple queuing system.
Do you want to find a hosting platform with Redis? Choose UltaHost! Built-in cache mechanism in all hosting plans and server with SSD NVMe disks enhances the speed of your websites and applications. Get 24/7 support from our support team. Our powered infrastructure focuses on auto-scaling, performance, and security. Let us show you the difference! Check out our plans!