Redis                       Ole-Martin Mørk - Bekk Consulting AS                                     javaBin              ...
Agenda       Introduksjon til Redis                 Datatyper                 Persistering       Replikering og Sharding  ...
Hva er Redis?                       • En in-memory key/value datastore                       • Utrolig rask               ...
Datatyper i Redis               • Strings               • Lists               • Sets               • Hashes               ...
Datatyper i Redis               •       Strings   > set usergroup javabin                                 OK              ...
Datatyper i Redis               •       Strings   > lpush members Sven                                 (integer) 1        ...
Datatyper i Redis               •       Strings   > sadd jbmeet nosql                                 (integer) 1         ...
Datatyper i Redis               •       Strings   > hset usergroup name javabin                                 (integer) ...
Datatyper i Redis               •       Strings   > zadd pizza 10 nosql                                 (integer) 1       ...
Eksempelonsdag 14. mars 2012
Applikasjononsdag 14. mars 2012
Datamodell                         storyId           story:1                                            story:2           ...
Persisteringonsdag 14. mars 2012
RDB persistence                       • Dumper hele databasen til disk                       • På gitte intervaller       ...
AOF persistence                       • Skriver kontinuerlig til disk                       • Tre flush-nivåer            ...
Anbefaltonsdag 14. mars 2012
Replikering                            &                        Shardingonsdag 14. mars 2012
Replikeringonsdag 14. mars 2012
Sharding                       • Ikke innebygd støtte for sharding                       • Må implementeres selvonsdag 14....
maskin 1                maskin 2                       32 instanser            32 instanser   3                           ...
Annen funksjonalitet                       • Transaksjoner                       • Optimistisk låsing                     ...
Redis fremover                       • 2.6 branch kom forrige uke                       • 3.0 mot slutten av året.onsdag 1...
Viktig å huske på                       • Vær konsistent i nøkkel-navngivningen                       • Lær deg datatypene...
Argumenteronsdag 14. mars 2012
Argumenter                       It’s a VMWare databaseonsdag 14. mars 2012
Argumenter                       • Youporn bruker Redis                        • 100.000.000 sidevisninger hver dag       ...
http://redis.io                       http://github.com/olemartin/diggeronsdag 14. mars 2012
Takk for meg!        Ole-Martin Mørk     @olemartin  about.me/olemartinonsdag 14. mars 2012
Upcoming SlideShare
Loading in …5
×

Presentation of Redis

669 views
609 views

Published on

A presentation of Redis for the norwegian Java Usergroup javaBin. In norwegian.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
669
On SlideShare
0
From Embeds
0
Number of Embeds
32
Actions
Shares
0
Downloads
4
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Presentation of Redis

  1. 1. Redis Ole-Martin Mørk - Bekk Consulting AS javaBin 14/03/12onsdag 14. mars 2012
  2. 2. Agenda Introduksjon til Redis Datatyper Persistering Replikering og Sharding Tips og triksonsdag 14. mars 2012
  3. 3. Hva er Redis? • En in-memory key/value datastore • Utrolig rask • Masse funksjonalitetonsdag 14. mars 2012
  4. 4. Datatyper i Redis • Strings • Lists • Sets • Hashes • Sorted Setsonsdag 14. mars 2012
  5. 5. Datatyper i Redis • Strings > set usergroup javabin OK • Lists > get usergroup "javabin" > del usergroup • Sets (integer) 1 > incr antall • Hashes (integer) 1 > decr antall (integer) 0 • Sorted Setsonsdag 14. mars 2012
  6. 6. Datatyper i Redis • Strings > lpush members Sven (integer) 1 • Lists > lpush members Kjetil (integer) 2 > lpush members Ole-Martin • Sets (integer) 3 > rpop members • Hashes "Sven" > lrange members 0 2 1) "Ole-Martin" • Sorted Sets 2) "Kjetil"onsdag 14. mars 2012
  7. 7. Datatyper i Redis • Strings > sadd jbmeet nosql (integer) 1 • Lists > sadd jbmeet jvm (integer) 1 > sadd exmeet nosql • Sets (integer) 1 > sunion jbmeet exmeet • Hashes 1) "nosql" 2) "jvm" > spop jbmeet • Sorted Sets 1) "nosql"onsdag 14. mars 2012
  8. 8. Datatyper i Redis • Strings > hset usergroup name javabin (integer) 1 • Lists > hset usergroup members 1000 (integer) 1 • Sets > hgetall usergroup 1) "name" • Hashes 2) "javabin" 3) "members" 4) "1000" • Sorted Setsonsdag 14. mars 2012
  9. 9. Datatyper i Redis • Strings > zadd pizza 10 nosql (integer) 1 • Lists > zadd pizza 20 jvm (integer) 1 • Sets > zrangebyscore pizza 0 20 1) "nosql" 2) "jvm" • Hashes > zrevrangebyscore pizza inf -inf 1) "jvm" • Sorted Sets 2) "nosql"onsdag 14. mars 2012
  10. 10. Eksempelonsdag 14. mars 2012
  11. 11. Applikasjononsdag 14. mars 2012
  12. 12. Datamodell storyId story:1 story:2 1..5 byte[] byte[] story:tag:1 tag:story:2 tag1, tag2, tag3 tagnavn1, tagnavn2 zstories tag:2 tag:tagnavn1 storyId:votes story1, story2 story:1, story:2onsdag 14. mars 2012
  13. 13. Persisteringonsdag 14. mars 2012
  14. 14. RDB persistence • Dumper hele databasen til disk • På gitte intervaller • Antall skriv • Antall minutteronsdag 14. mars 2012
  15. 15. AOF persistence • Skriver kontinuerlig til disk • Tre flush-nivåer • Hver skriv • Hvert sekund • OS-et bestemmeronsdag 14. mars 2012
  16. 16. Anbefaltonsdag 14. mars 2012
  17. 17. Replikering & Shardingonsdag 14. mars 2012
  18. 18. Replikeringonsdag 14. mars 2012
  19. 19. Sharding • Ikke innebygd støtte for sharding • Må implementeres selvonsdag 14. mars 2012
  20. 20. maskin 1 maskin 2 32 instanser 32 instanser 3 Serveronsdag 14. mars 2012
  21. 21. Annen funksjonalitet • Transaksjoner • Optimistisk låsing • Expire keys • Publish/Subscribe • Pipeliningonsdag 14. mars 2012
  22. 22. Redis fremover • 2.6 branch kom forrige uke • 3.0 mot slutten av året.onsdag 14. mars 2012
  23. 23. Viktig å huske på • Vær konsistent i nøkkel-navngivningen • Lær deg datatypene • Sharding • Garbage-collectiononsdag 14. mars 2012
  24. 24. Argumenteronsdag 14. mars 2012
  25. 25. Argumenter It’s a VMWare databaseonsdag 14. mars 2012
  26. 26. Argumenter • Youporn bruker Redis • 100.000.000 sidevisninger hver dag • 300.000 spørringer per sekundonsdag 14. mars 2012
  27. 27. http://redis.io http://github.com/olemartin/diggeronsdag 14. mars 2012
  28. 28. Takk for meg! Ole-Martin Mørk @olemartin about.me/olemartinonsdag 14. mars 2012

×