Recently I have heard a lot about Redis, so I decided to try it out. But first a little intro about Redis. “Redis is a database. To be specific, Redis is a database implementing a dictionary, where every key is associated with a value.” .
Think about Redis as memcache on steroids, Redis extends the basic key/value store paradigm by letting you have values of a certain type and defines operations that are unique to each type.
For example Redis lets you associate a key with a list and then lets you do list specific operations.
lpush mylist 1 --adds 1 to mylist
lpush mylist 2
llen mylist --returns the length of mylist
By the way if you just want to try out Redis without having to download and install, then check out this link.
Supported types are Lists, Sets, Sorted Sets and Strings. Below are some interesting operations (to see the entire list go to this link).
- Adding elements to either the head or tail of a list.
- Pop the fist element atomically (very lispy)
- Union two sets.
- Sorted Sets are sorted by score that you provide. It also uses the score when inserting new elements.
Redis also persists data by writing to the desk asynchronously this way you can have your entire application just use Redis without the need to have a separate database.
Here is a simple example using Redis
- Download Redis “wget http://redis.googlecode.com/files/redis-1.2.6.tar.gz”.
- Extract Redis and run ‘make’ in the directory.
- Run the Redis server ‘./redis-server redis.conf ‘
- Now you can start playing with the server using redis-cli, try the following
./redis-cli set name devender
./redis-cli get name