Top 10 Redis Interview Questions & Answers

1) Explain what is Redis?

Redis is an advanced key-value data store and cache. It has also been referred as a data structure server as such the keys not only contains strings, but also hashes, sets, lists, and sorted sets. Companies using Redis includes Stackoverflow, Twitter, Github, etc.

2) Explain Replication feature of Redis?

Redis supports simple master to slave replication.  When a relationship is established, data from the master is transferred to the slave. Once this is done, all changes to the master replicate to the slave

3) Mention what is the difference between Memcached and Redis?

                           Redis                            Memcached
  • Redis also does caching information but has got additional features like persistence and replication
  • Redis does not support the functionality of LRU (least recently used) eviction of values
  • In Redis you can set a time out on everything, when memory is full, it will look at three random keys and deletes the one which is closest to expiry
  • Redis does not support CAS ( Check and Set). It is useful for maintaining cache consistency
  • Redis has got stronger data structures; it can handle strings, binary safe strings, list of binary safe strings, sorted lists, etc.
  • Redis had a maximum of 2GB key length
  • Redis is single threaded
  •  Memcached only does caching information.
  • Memcached supports the functionality of LRU (least recently used) eviction of values
  • In Memcached when they overflow memory, the one you have not used recently (LRU- least recently used) will get deleted
  • Memcached supports CAS (Check and Set)
  • In Memcached, you have to serialize the objects or arrays in order to save them and to read them back you have to un-serialize them.
  • Memcached had a maximum of 250 bytes length
  • Memcached is a multi-threaded

4) Mention what are the advantages of using Redis?

Advantage of using Redis is

  • It provides high speed
  • It supports a server-side locking
  • It has got lots of client lib
  • It has got command level Atomic Operation (tx operation)

5) Mention what are the limitations of Redis?

  • It is single threaded
  • It has got limited client support for consistent hashing
  • It has significant overhead for persistence
  • It is not deployed widely

467px-Redis_Logo.svg

6) List out the operation keys of Redis?

Operation keys of Redis includes

  • TYPE key
  • TTL key
  • KEYS pattern
  • EXPIRE key seconds
  • EXPIREAT key timestamp
  • EXISTS key
  • DEL key

7) Which PHP module can be used with Redis?

With PHP module, PRedis is more preferable than Redid PHP binding or Resident

8) Does Redis gives speed and durability both?

No, Redis purposely compromise the durability to enhance the speed. In Redis, in the event of system failure or crash, Redis writes to disk but may fall behind and lose the data which is not stored.

9) How can you improve the durability in Redis?

To improve the durability of Redis “append only file” can be configured by using fsync data on disk.

  • Fsync () every time a new command is added to the append log file: It is safe but very slow
  • Fysnc() one time every second: It is fast, but you may lose 1 second of data if system fails
  • Never fsync(): It is an unsafe method, and your data is in hand of Operating System

10) Mention what are the things you have to take care while using Redis?

While using Redis one must take care of

  • Select a consistent method to name and prefix your keys. Manage your namespace
  • Create a “Registry” of key prefixes that maps each of your internal documents for those application which “own” them
  • For every class you put through into your Redis infrastructure : design, implement and test the mechanisms for garbage collection or data migration to archival storage
  • Design, implement and test a sharding library before you have invested much into your application deployment and make sure that you keep a registry of “shards “replicated on each server
  • Separate all your K/V store and related operations into your own library/API or service

FacebookTwitter
2 replies

Leave a Reply

Leave a Reply

Your email address will not be published. Required fields are marked *

  1. Keith W. says:

    Questions 7 and 10 are duplicates. Maybe one of the questions could be about potential use cases for Redis.

    Reply
    • Guru99 says:

      Error Fixed! Thanks for bringing this to notice

      Reply