90 likes | 375 Views
REDIS (Remote dictionary server). K ALI ROHAN KOKA AZEEM HIRANI. What is Redis. A Simple database Implementing a Dictionary where keys are associated with values.
E N D
REDIS(Remote dictionary server) KALI ROHAN KOKA AZEEM HIRANI
What is Redis • A Simple database Implementing a Dictionary where keys are associated with values. • For e.g.: It can set the key “surname_1987” to the string “Rohan”. • It is open sourced.First released in March 2009. • Redis takes entire dataset in memory. Dump of dataset is created and loaded whenever server is restarted. • Speed is the key feature. Estimated 80000+ operations per second at least
Redis data types Values can be associated with: • Strings – Binary safe so they can hold text, images, compressed data, etc. • Lists – Lists of Strings for operations like append, list length, range of elements, sorting of lists • Sets – Addition and deletion of elements from a set, Intersection, union, subtraction, etc. • Zsets – Zadd, Zrange, Zscore, Zcard
Similarities with memcached Some features like those of Memcached: • All data lives in the memory. • Faster, Light weight • Data exists in the memory • Support Multiple databases • Support for Integer counters • Atomic operations
Differences with memcached • Memcached is not persistent. • Memcached does not save as the purpose is to be used only as a cache. • Redis has capability of being used as main DB for the application. • Memcached uses key value model like Redis but keys can be just string. • In Redis, values can be Lists, Sets, Zsets.
Overview of Commands • Strings- get, set, increment, decrement • Lists- push, pop, length, range, trim • Sets- add, remove, move, length, intersect, intersect • Some more commands useful – save, lastsave (can be used to force and verify disk persistance)
Database Commands These type of commands operate on database. They do not operate on individual keys. • SELECT • MOVE • FLUSHALL • SHUTDOWN • SLAVEOF • DBSIZE • INFO • MONITOR
Advantages of using REDIS • Pick your own Level. • Redis supports Persistence • Replication – Works as a master slave • Publish/Subscribe
Disadvantages • Unreliable • Indexes take a lot of RAM.