Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Getting
Started
with Redis
Sam Davarnia
@samdvr
What is Redis?
¡  Key/Value Store
¡  Not just strings
¡  Persistence
¡  FAST
¡  Scalable
Redis is fast
5 Data Types
¡  Strings
¡  Hashes
¡  Lists
¡  Sets
¡  Sorted Sets
Strings
¡  The most simple data type
¡  Common Commands
¡  SET/GET (MSET/MGET)
¡  INCR/DECR
¡  INCRBY /INCRBYFLOAT
¡...
Use Cases
¡  Simple caching with expiration
¡  Counts & Sums using INCRBY/DECRBY
SET	
  	
  	
  	
  blog_count	
  	
  10...
Hashes
¡  Similar to Ruby & Python hashes
they are maps with keys & values
¡  Common Commands
¡  HSET / HGET
¡  HGETAL...
Use Cases
¡  Good for representing objects and storing data types
other than strings and integers
HSET	
  myhash	
  field1...
Lists
¡  Basically linked lists from left to right.
¡  You can push and pop elements
Accessing data in the middle
isn’t ...
Use Cases
¡  Great for queues
¡  Activity feeds
Sets
¡  Unordered collections of unique elements
¡  Find differences between two sets, union of two
sets …
¡  Common Co...
Use Cases
¡  Tagging systems
¡  Tracking unique visitors
¡  Getting random elements from a collection
Sorted Sets
¡  Similar to Sets but each key should have a score to get
sorted
¡  Common Commands
¡  ZADD/ZREM
¡  ZCOUN...
Use cases
¡  Leaderboards
¡  Notification systems
¡  Autocomplete searches
¡  Activity feeds based on a score or time ...
Pub/Sub
¡  Redis supports real time data propagation.
¡  Users can subscribe to a “channel” and any message
sent to the ...
Use Cases
¡  Chat System
¡  Real-time reporting and analytics
Persistence
¡  RDB
¡  Point in time snapshot
¡  Append Only File (AOF)
¡  More durable than RDB but slower
Scaling
¡  Redis has a master/slave replication feature similar to
MySQL
Slave(Read-only)
Slave(Read-only)
Master(Write-o...
Redis as a Service
¡  Managed Redis services
Resources
¡  Redis.io list of all the commands and documentation
¡  Books:
¡  Redis In Action
¡  Redis: The Definitive...
Questions/Demo
Upcoming SlideShare
Loading in …5
×

Getting Started with Redis

1,171 views

Published on

Getting Started with Redis by Sam Davarnia
for SocalCodeCamp

Published in: Engineering, Technology, Business

Getting Started with Redis

  1. 1. Getting Started with Redis Sam Davarnia @samdvr
  2. 2. What is Redis? ¡  Key/Value Store ¡  Not just strings ¡  Persistence ¡  FAST ¡  Scalable
  3. 3. Redis is fast
  4. 4. 5 Data Types ¡  Strings ¡  Hashes ¡  Lists ¡  Sets ¡  Sorted Sets
  5. 5. Strings ¡  The most simple data type ¡  Common Commands ¡  SET/GET (MSET/MGET) ¡  INCR/DECR ¡  INCRBY /INCRBYFLOAT ¡  DECRBY / DECRBYFLOAT ¡  STRLEN
  6. 6. Use Cases ¡  Simple caching with expiration ¡  Counts & Sums using INCRBY/DECRBY SET        blog_count    10     INCR  blog_count   GET      blog_count          “11”    
  7. 7. Hashes ¡  Similar to Ruby & Python hashes they are maps with keys & values ¡  Common Commands ¡  HSET / HGET ¡  HGETALL ¡  HINCRBY / HINCRBYFLOAT
  8. 8. Use Cases ¡  Good for representing objects and storing data types other than strings and integers HSET  myhash  field1  "Hello”  field2  “Everyone”   HGET  myhash  field1          “HELLO”    
  9. 9. Lists ¡  Basically linked lists from left to right. ¡  You can push and pop elements Accessing data in the middle isn’t as fast ¡  Common Commands ¡  LSET/LINDEX ¡  LPUSH/LPOP ¡  RPUSH/RPOP ¡  LINSERT ¡  LRANGE
  10. 10. Use Cases ¡  Great for queues ¡  Activity feeds
  11. 11. Sets ¡  Unordered collections of unique elements ¡  Find differences between two sets, union of two sets … ¡  Common Commands ¡  SADD/SREM ¡  SMEMBERS ¡  SISMEMBER ¡  SUNION ¡  SPOP
  12. 12. Use Cases ¡  Tagging systems ¡  Tracking unique visitors ¡  Getting random elements from a collection
  13. 13. Sorted Sets ¡  Similar to Sets but each key should have a score to get sorted ¡  Common Commands ¡  ZADD/ZREM ¡  ZCOUNT ¡  ZINCRBY ¡  ZRANK ¡  ZRANGE ¡  ZSCORE
  14. 14. Use cases ¡  Leaderboards ¡  Notification systems ¡  Autocomplete searches ¡  Activity feeds based on a score or time and more..
  15. 15. Pub/Sub ¡  Redis supports real time data propagation. ¡  Users can subscribe to a “channel” and any message sent to the channel will be published to all subscribers at the same time.
  16. 16. Use Cases ¡  Chat System ¡  Real-time reporting and analytics
  17. 17. Persistence ¡  RDB ¡  Point in time snapshot ¡  Append Only File (AOF) ¡  More durable than RDB but slower
  18. 18. Scaling ¡  Redis has a master/slave replication feature similar to MySQL Slave(Read-only) Slave(Read-only) Master(Write-only)
  19. 19. Redis as a Service ¡  Managed Redis services
  20. 20. Resources ¡  Redis.io list of all the commands and documentation ¡  Books: ¡  Redis In Action ¡  Redis: The Definitive Guide
  21. 21. Questions/Demo

×