Top Redis Interview Questions and Answers
by Subashini, on Jul 4, 2022 8:18:13 PM
Q1. What is Redis?
Ans
Redis is a distributed in-memory key-value database, cache, and message broker with optional durability. Redis supports different kinds of abstract data structures, such as strings, lists, maps, sets, sorted sets, HyperLogLogs, bitmaps, streams, and spatial indexes.
Q2. What does Redis stands for?
Ans
Redis stands for REmote DIctionary Server.
Q3. List the main operation keys of Redis.
Ans
The main operation keys of Redis are given below-
- TTL key
- TYPE key
- EXISTS key
- EXPIRE key seconds
- DEL key
- EXPIREAT key timestamp
Q4. What is Redis Replication?
Ans
Redis uses non-blocking asynchronous replication, with asynchronous replica-to-master acknowledges of the amount of data processed. A master can have multiple replicas. It ensures that the master will continue to handle queries when one or more replicas perform the initial synchronization or a partial resynchronization. Replication is also largely non-blocking on the replica side.
Q5. How can Redis be started?
Ans
The given path can be followed to start Redis-
/etc/init.d/redis-server start
Q6. How can Redis be Re-started?
Ans
The given path can be followed to re-start Redis-
/etc/init.d/redis-server restart
Q7. How can Redis be stopped?
Ans
The given path can be followed to stop Redis-
/etc/init.d/redis-server stop
Q8. What is meant by "Redis is Binary Safe"?
Ans
Binary Safe represents having a known length, but no special character limits it. Any value can be stored by the user up to the given size. A string value can have a length of 512 MB.
Q9. List out all the data structures that are supported by Redis
Ans
Redis supports following Data Structures:
- Strings
- Hashes
- Lists
- Sets
- Sorted sets with range queries
- Bitmaps
- Hyperloglogs
- Geospatial indexes with radius queries
Q10. What are the limitations of Redis?
Ans
- The whole dataset has to be kept in memory - so the space is limited
- Single threaded
- It has got limited client support for consistent hashing
- It has significant overhead for persistence
- It is not deployed widely
Q11. How we can use Redis with .Net application?
Ans
For use Redis in .net application need to follow given steps:
- Download Redis Server
- Install Redis Server
- Download Redis Client
- Set Configuration into Web.config File
- Use Redis Client Class
Q12. What are differences between Redis and RDBMS?
Ans
Redis |
RDBMS |
Redis stores everything in primary memory. |
RDBMS stores everything in secondary memory. |
In Redis, it stores data in primary memory because of that Read and Write operations are extremely fast. |
In RDBMS, it stores data in secondary memory and because of that Read and Write operations are slow. |
Since primary memory is smaller and more costly than secondary memory, Redis is unable to store large files or binary data. |
Since secondary memory is larger and less expensive than primary memory, RDBMS can easily handle these types of files and data. |
Redis is only used to store small quantities of textual data that must be accessed, updated, and added quickly. You'll get errors if you try to write bulk data that exceeds the available memory. |
RDBMS can store large amounts of data that aren't used regularly and aren't needed to be fast. |
Q13. What is the maximum size of key (String) in redis?
Ans
According to the redis official docs, the maximum size of key in redis is 512MB.
Q14. How many data types are there in Redis?
Ans
Redis provide 5 types of data types. Strings, Hashes, Lists, Sets, Sorted Sets.
Q15. What is Redis Replication?
Ans
Redis uses non-blocking asynchronous replication, with asynchronous replica-to-master acknowledges of the amount of data processed. A master can have multiple replicas. It ensures that the master will continue to handle queries when one or more replicas perform the initial synchronization or a partial resynchronization. Replication is also largely non-blocking on the replica side.
Q16. Explain the list operations available in Redis.
Ans
The list operations are given below-
- LPOP- An element is removed from the head by it.
- RPOP- An element is removed from the tail by it.
- LPUSH- A new element is inserted on the head by this operation.
- RPUSH- A new element is inserted on the head by this operation.
- LRANGE- An element is printed from the specified position
Q17. What is meant by ZSET in Redis?
Ans
ZSET means a Redis Sorted Set where we can document a Redis data type. Each key in the assorted set contains multiple values associated with a value score that is floating. Redis provides the unique feature of accessing it by a member such as a HASH. Also, we can access the items by the sorted order as well as the values of the scores.
Q18. How can the array data be obtained from Redis?
Ans
We can get the array data from Redis by using the given commands
$list = $redis ->lrange (“tutorials”, 0, 5);
print_r($list);
/*array ([0] => Mysql [1] => Mongodb [2] => Redis [3] => MySQL [4]=> PHP [5] => Mysql)*/
Q19.How can the running of Redis be checked?
Ans
try
{
$redis = new Redis();
$redis -> connect (‘127.0.0.1’, 6379);
echo “Redis is running.”;
echo “Server is running:”. $redis -> ping()
}
catch (Exception $e)
{
echo $e -> getMessage();
}
Q20. Are transactions supported by Redis?
Ans
EXEC, MULTI, WATCH, and DISCARD are the foundations of Redis transactions. A group of commands can be executed in a single step by these. And the following two important guarantees are there-
- All the commands are executed and serialized in a transaction sequentially. A request issued by some other client can never be served in the middle of the Redis transaction's execution. Single isolated execution of the commands is guaranteed by it.
- A Redis transaction is atomic; that is, either all or none of the commands are processed.
Q21. What are some of the languages supported by Redis?
Ans
The following languages are supported by Redis-
- C#
- C++
- C
- Python
- Java
- Erlang
- PHP
- Scala
Q22. How does Redis differ from most other databases?
Ans
Redis is an open-source, NoSQL, and in-memory data structure store. The principle of a key-value store is followed by Redis.
It is very persistent, fast, portable, and supports several languages like Java, Python, C, C++, R, Scala, Lua, JavaScript, Ruby, Rust, Tcl, Go, etc.
Q23. In which language is Redis written?
Ans
ANSI C is the language in which Redis is written. It is mostly used for session management and cache solution. And unique keys are created by it for store values.