REDIS OVERVIEW 
Dinh Hoang Long 
Framgia, Inc.
2 
Outline 
● NoSQL and Redis 
● The Creation of Redis 
● Redis Features 
● Redis Persistence
3 
NoSQL 
● Non-relational 
● Distributed 
● Open-source 
● Horizontally scalable
4 
Redis 
Key Value Store NoSQL DBMS
5 
The Creation of Redis
6 
The Creation of Redis 
The story of Salvatore Sanfilippo (antirez) 
Creator of Redis
7 
Business 
● Receiving a stream of page views from multiple websites. 
● Storing the latest n page views for every site 
● Show latest page views in real time to users 
● Maintaining history
8 
Problem 
With a peak load of a few thousand page views per second 
● Whatever the database schema was 
● Whatever trade-offs is 
→ No way for storing by SQL
9 
The Creation of Redis 
Solution 
● In-memory data store 
● Storing lists as a native data type 
● Implementing using C language 
● Adding fork-based persistence feature
10 
The Creation of Redis 
Solution 
● In-memory data store 
● Storing lists as a native data type 
● Implementing using C language 
● Adding fork-based persistence feature 
→ Finally, Redis was born!
11 
Redis Features 
● Data Model 
● Master/Slave Replication 
● In-memory
12 
Data Model 
● STRING
13 
Data Model 
● STRING 
● LIST
14 
Data Model 
● STRING 
● LIST 
● SET
15 
Data Model 
● STRING 
● LIST 
● SET 
● HASH
16 
Data Model 
● STRING 
● LIST 
● SET 
● HASH 
● ZSET (Sorted Set)
17 
Master/Slave Replication 
Source: http://harish11g.blogspot.com
18 
In-memory 
FAST
19 
What happened if server is turned off?
20 
Redis Persistence
21 
Redis Persistence 
Storing data in hard disk 
● RDB (Redis Database) 
● AOF (Append Only File)
22 
RDB (Redis Database)
23 
RDB (Redis Database) 
Point-in-time snapshots of dataset at specified intervals.
24 
RDB (Redis Database) 
Advantages 
● Perfect for backup and transfer 
● Maximum performance 
- Child process: Persist on disk 
- Parent process: No I/O
25 
RDB (Redis Database) 
Disadvantages 
● Cannot minimize the chance of data loss 
● fork() can be time consuming if the dataset is big
26 
AOF (Append Only File)
27 
AOF (Append Only File) 
● Logs every write operation received by the server 
● Plays again operation at server startup to reconstruct 
the original dataset
28 
AOF (Append Only File) 
Advantages 
● Durability (sync every second, every query) 
● No seek is required 
● Automatically rewrite AOF in background when it 
gets too big
29 
AOF (Append Only File) 
Disadvantages 
● Files are usually bigger than RDB files. 
● Can be slower than RDB 
● Rare bugs in specific commands
30 
What should we use?
31 
References 
TỔNG QUAN VỀ REDIS http://tech.blog.framgia.com/vn/?p=3365 
@dinhhoanglong91
32 
Thank for watching!

Redis Overview

  • 1.
    REDIS OVERVIEW DinhHoang Long Framgia, Inc.
  • 2.
    2 Outline ●NoSQL and Redis ● The Creation of Redis ● Redis Features ● Redis Persistence
  • 3.
    3 NoSQL ●Non-relational ● Distributed ● Open-source ● Horizontally scalable
  • 4.
    4 Redis KeyValue Store NoSQL DBMS
  • 5.
  • 6.
    6 The Creationof Redis The story of Salvatore Sanfilippo (antirez) Creator of Redis
  • 7.
    7 Business ●Receiving a stream of page views from multiple websites. ● Storing the latest n page views for every site ● Show latest page views in real time to users ● Maintaining history
  • 8.
    8 Problem Witha peak load of a few thousand page views per second ● Whatever the database schema was ● Whatever trade-offs is → No way for storing by SQL
  • 9.
    9 The Creationof Redis Solution ● In-memory data store ● Storing lists as a native data type ● Implementing using C language ● Adding fork-based persistence feature
  • 10.
    10 The Creationof Redis Solution ● In-memory data store ● Storing lists as a native data type ● Implementing using C language ● Adding fork-based persistence feature → Finally, Redis was born!
  • 11.
    11 Redis Features ● Data Model ● Master/Slave Replication ● In-memory
  • 12.
    12 Data Model ● STRING
  • 13.
    13 Data Model ● STRING ● LIST
  • 14.
    14 Data Model ● STRING ● LIST ● SET
  • 15.
    15 Data Model ● STRING ● LIST ● SET ● HASH
  • 16.
    16 Data Model ● STRING ● LIST ● SET ● HASH ● ZSET (Sorted Set)
  • 17.
    17 Master/Slave Replication Source: http://harish11g.blogspot.com
  • 18.
  • 19.
    19 What happenedif server is turned off?
  • 20.
  • 21.
    21 Redis Persistence Storing data in hard disk ● RDB (Redis Database) ● AOF (Append Only File)
  • 22.
    22 RDB (RedisDatabase)
  • 23.
    23 RDB (RedisDatabase) Point-in-time snapshots of dataset at specified intervals.
  • 24.
    24 RDB (RedisDatabase) Advantages ● Perfect for backup and transfer ● Maximum performance - Child process: Persist on disk - Parent process: No I/O
  • 25.
    25 RDB (RedisDatabase) Disadvantages ● Cannot minimize the chance of data loss ● fork() can be time consuming if the dataset is big
  • 26.
    26 AOF (AppendOnly File)
  • 27.
    27 AOF (AppendOnly File) ● Logs every write operation received by the server ● Plays again operation at server startup to reconstruct the original dataset
  • 28.
    28 AOF (AppendOnly File) Advantages ● Durability (sync every second, every query) ● No seek is required ● Automatically rewrite AOF in background when it gets too big
  • 29.
    29 AOF (AppendOnly File) Disadvantages ● Files are usually bigger than RDB files. ● Can be slower than RDB ● Rare bugs in specific commands
  • 30.
  • 31.
    31 References TỔNGQUAN VỀ REDIS http://tech.blog.framgia.com/vn/?p=3365 @dinhhoanglong91
  • 32.
    32 Thank forwatching!