Redis interview questions and Answers
Most Frequently Asked Redis interview questions
Redis stands for REmote DIctionary Server. Redis is an open-source in-memory database which stores the data in the key-value pairs.
For example:- NAME = Ram, here NAME is the key and Ram is the value. In-memory database means that the data is stored in the memory, but the data can also be stored in the disk.
Benefits of Redis
- in-memory database, therefore, it is swift.
- Uses the data structure to store the data
- Supports data replication
- Can be used as a cache system as well as the database.
- Data read, and Data write done by commands
- Redis is simple to configure, learn and implement.
- Redis allows data replication
- Redis works on the Client-Server mechanism.
- In Redis, there is no requirement of tables, rows, and columns.
- Redis includes pipelining that means multiple commands can be clustered and send them at once.
- Redis can be used as a database
- Redis has the master-slave feature
The latest version of Redis is 5.0.3 which got released on 12th December 2018.
Redis can be installed on the Ubuntu machines by using the command:-
sudo apt-get install Redis-server
If the user wants Redis to be installed as an object cache for Wordpress or any other PHP, then the following command can be used:-
sudo apt-get install php-redis
If the user wants to configure the Redis as a cache, /etc/Redis/redis.conf file needs to be updated, and the text editor nano can be used for this purpose.
sudo nano /etc/redis/redis.conf
Any text editor can be used.
Here is one of the way of installing the Redis on Windows:-
Architecture
1.Install some packages
- $ sudo apt-get install build-essential
- $ sudo apt-get install tcl8.5
2. Download the source code of the latest version of Redis.
- http://download.redis.io/releases/redis-5.0.3.tar.gz
3. Extract the file that has been downloaded.
4.Compile the Redis source
- $ sudo make distclean
- $ sudo make –j
5.Test the compiled files ((optional))
- $ sudo make test -j
6. After compilation, copy the Redis binaries under /usr/local/bin/ and then install the Redis server by the following instructions:-
- $ sudo make install -j
- $ cd utils
- $ sudo ./install_server.sh
7. Installation Completed
Point to be noted:- Go through this Q&A very thoroughly as this is one of the vital Redis interview questions.
S.no | Redis | Memcached |
---|---|---|
1. | Supports data replication | Does not support data replication |
2. | Single threaded Architecture | Multithreaded Architecture |
3. | Many data types can be used | Limited to strings data type |
- DEL:-if the key exists then it deletes the key
Syntax:- redis 127.0.0.1:6379> DEL KEY_NAME
- EXISTS:-this checks whether the key exists or not
Syntax:- redis 127.0.0.1:6379> EXISTS KEY_NAME
- EXPIRE:- this sets the expiry date of the key after the specified time
Syntax:- redis 127.0.0.1:6379> Expire KEY_NAME TIME_IN_SECONDS
- TTL:-this shows the time remaining in the keys expiry
- RANDOMKEY:-this returns the random key
Syntax:- redis 127.0.0.1:6379> RANDOMKEY
- TYPE:-this return the data type of the value which is stored in the key
- KEYS pattern:- this return the keys which match with the mentioned pattern
S.no | Redis | MongoDB |
---|---|---|
1. | Key-Value store | Document type of store |
2. | The language used is C | The language used is C++ |
3. | Speed is Fast | Speed is slow |
4. | Server-side script is Lua | Server-side script is Javascript |
Following are the Redis data types:-
1. Strings:-
2. Hashes:- They represent the objects.
3. Lists:-they are the set of lines that are sorted according to the insertion order Syntax:-
4. Sets:- It is a collection of the string arranged randomly
5. Sorted Sets:-similar like the sets but here with each member, there is a score which may get repeated while the members will be unique
This particular Redis interview question explains Redis data types.
The following two commands can be used to empty the database.
- FLUSHDB:- Removes all the data from the database which the user is currently using.
Syntax:- redis-cli flushdb
- FLUSHALL:- Removes the data from all the databases.
Syntax:-redis-cli flushall