1)
Tell Me About Redis?
Redis is an open-source, advance key
value data store and cache. It is also referred as a data structure server
which keys not only contains strings, but also hashes, sets, lists, and sorted
sets.
2)
Tell Me About the meaning of Redis?
Redis stands for REmote DIctionary
Server.
3)
How is Redis different from other databases?
Redis is a NoSQL, Opensource,
in-memory data-structure store. It follows the principle of key-value store.
It is extremely fast, persistent,
portable and supports many languages such as C, C++, C#, Clojure, Common Lisp,
D, Dart, Erlang, Go, Haskell, Haxe, Io, Java, JavaScript (Node.js), Julia, Lua,
Objective-C, Perl, PHP, Pure Data, Python, R, Racket, Ruby, Rust, Scala,
Smalltalk and Tcl.
4)
In which language Redis is written?
Redis is written in ANSI C and
mostly used for cache solution and session management. It creates unique keys
for store values.
5)
Tell Me About the usage of Redis?
Redis is a special key-value store
database that can function as a NoSQL database or as a memory-cache store to
improve performance when serving data that is stored in system memory.
6)
How to interect with Redis?
After the installation of the server
you can run the Redis Client provided by redis installation or you can open the
command prompt and use the following command:
- redis-cli
By using any of them, you can
interect with Redis.
7)
Which are the most popular companies using Redis?
Twitter, Github, Stackoverflow etc.
are the most popular companies using Redis.
8)
Tell Me About the main features of Redis?
Following are the main features of
Redis:
- Redis is very simple to install setup and manage.
- Redis is very fast. It can execute 100000 queries per second.
- Redis is fast because data is being persistent in memory as well as stored on the disk.
- Redis is very fast because it loads the whole dataset in primary memory.
- Redis operations working on different data types are atomic so these operations can be accomplished safely i.e. to set or increase a key, add or remove elements from a set or increase a counter.
- It supports various types of data structure such as strings, hashes, sets, lists, sorted sets etc.
- Redis supports a variety of languages i.e. C, C++, C#, Ruby, Python, Twisted Python, PHP, Erlang, Tcl, Perl, Lua, Java, Scala etc.
- If your favorite language is not supported yet, you can write your own client library, as the Protocol is pretty simple.
- Redis supports simple master to slave replication.
- Redis is portable.
9)
Explain the Replication feature of Redis?
Redis performs simple Master to
Slave Replication. When a relationship is established, data from the master is
transferred to the slave. Once it is done, all changes to the master replicate
to the slave.
10)
Tell Me About the advantages of using Redis?
Following is a list of some
important advantages of Redis:
- Redis is very fast.
- It supports a server-side locking.
- It has a rich client side library.
- It is a good counter.
- It supports Atomic Operation.
11)
Tell Me About the disadvantages/limitations of using Redis?
Following are the disadvantages/
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.
12)
Tell Me About the difference between Redis and RDBMS?
There are a lot of differences
between Redis and RDBMS:
- Redis is a NoSQL database while RDBMS is an SQL database.
- Redis follows the key-value structure while RDBMS follows the table structure.
- Redis extremely fast while RDBMS is comparatively slow.
- Redis stores all the dataset in primary memory while RDBMS stores its dataset in secondary memory.
- Redis is generally used to store small and frequently used files while RDBMS is used to store big files.
- Redis provides only official support for Linux, BSD, Mac OS X, Solaris. It doesn?t provide official support for Windows currently while RDBMS provides support for both.
13)
Tell Me About the difference between Memcached and Redis?
Memcached
|
Redis
|
Memcached only does caching
information.
|
Redis also does caching
information as well as it has some additional features like persistence and
replication.
|
Memcached supports the
functionality of LRU (Least Recently Used) eviction of values.
|
Redis does not support 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.
|
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.
|
Memcached supports CAS(Check And
Set)
|
Redis does not support CAS ( Check
And Set). It is useful for maintaining cache consistency.
|
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.
|
Redis has got stronger data
structures; it can handle strings, binary safe strings, list of binary safe
strings, sorted lists, etc.
|
Memcached has a maximum of 250
bytes length.
|
Redis has a maximum of 2GB key
length.
|
Memcached is multi-threaded
|
Redis is single threaded
|
14)
Tell Me About the operation keys of Redis?
A list of operation keys of Redis
are given below:
- TYPE key
- TTL key
- KEYS pattern
- EXPIRE key seconds
- EXPIREAT key timestamp
- EXISTS key
- DEL key
15)
Which are the different data types used in Redis?
There are mainly 5 types of data
types supported by Redis:
- Strings
- Hashes
- Lists
- Sets
- Sorted Sets
16)
Which are the most popular commands of the Redis database?
For more information:Click
Here
17)
We all know that Reds is fast, but is it also durable?
No. Redis compromises with
durability to enhance the speed. In Redis, in the case of system failure or
crash, it writes to disk but may fall behind and lose the data which is not
stored.
18)
Tell Me About the way to improve the durability of 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.
19)
Tell Me About the things you must have to take care while using Redis?
While using Redis, you must have to
take care of following instructions:
- 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 applications 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.
20)
How can you use Redis with .Net application?
To use Redis in .Net applications,
follow these steps:
- First, Download Redis Server.
- Install Redis Server.
- Download Redis Client.
- Set Configuration into Web.config File.
- Use Redis Client Class.