Introduction to Redis

Introduction to Redis

Basically, Redis is a key-value store. A key-value is usually a database where a key (string) and

Basically, Redis is a key-value store. A key-value is usually a database where a key (string) and a value (string) are saved, although they can save more complicated structures. However, it is generally used for saving dictionaries.

Redis… Where to use it?

Redis is very fast. It is very common to use it as a cache for information that is frequently accessed and where the response time has to be incredibly fast (we are talking milliseconds). It can be easily implemented as a cache since an expiration time can be set up for the keys (TTL).
It is also used to implement APIs, where quick responses are sought.

How it works?

Redis’ speed works through memory, and can optionally be configured to save, in a specific amount of time, information/data in hard disk persist data in the disk.

There are two ways of persisting data:
• RDB (database snapshots)
Save a picture from the database at a given time (it can be configured).
• AOF (Append-only file)
Save all the log operations in a file, with which the entire database can be recreated.
Both methods can be combined.



tar xvzf redis-stable.tar.gz
cd redis-stable


Who uses Redis

MercadoLibre, Twitter, Github, Weibo, Pinterest, Snapchat, Craigslist, Digg, StackOverflow,Flickr.


  •  redis-cli (command line)
  •  jedis (client for Java)

Try it out without setting-it-up

Suppose that we want to count the number of clicks that a system of Ads (similar to Google´s AdWords) receives from each user (customer) and for each ad. The keys can be written in the following style:
customerId:123:adId:666 1001
From redis-cli (command line client)

Set-up a value
> set customerId:123:adId:666 1001

Obtain it
> get customerId:123:adId:666
> “1001”

Increase it
> incr customerId:123:adId:666
> (integer) 1002

Basic commands

Ej.: set aKey aValue

Ej.: get aKey

Ej.: keys “*” (shows all keys)
info (shows general information of the database)

Java examples

* Shows on console:
* hola: sabor
* keys: [hola, chau] *

public class Main {
private static Jedis jedis;
public static void main(String[] args) {
try {
jedis = new Jedis(“localhost”);
jedis.set(“hola”, “sabor”);
jedis.set(“chau”, “100”);
String value = jedis.get(“hola”);
System.out.println(“hola: ” + value);
System.out.println(“keys: ” + jedis.keys(“*”));
} catch (Exception e) {
} finally {