+ All Categories
Home > Technology > Presentation of Redis

Presentation of Redis

Date post: 02-Jul-2015
Category:
Upload: ole-martin-mork
View: 537 times
Download: 0 times
Share this document with a friend
Description:
A presentation of Redis for the norwegian Java Usergroup javaBin. In norwegian.
28
Redis Ole-Martin Mørk - Bekk Consulting AS javaBin 14/03/12 onsdag 14. mars 2012
Transcript
Page 1: Presentation of Redis

Redis

Ole-Martin Mørk - Bekk Consulting AS

javaBin14/03/12

onsdag 14. mars 2012

Page 2: Presentation of Redis

AgendaIntroduksjon til Redis

Datatyper

Persistering

Replikering og Sharding

Tips og triks

onsdag 14. mars 2012

Page 3: Presentation of Redis

Hva er Redis?

• En in-memory key/value datastore

• Utrolig rask

• Masse funksjonalitet

onsdag 14. mars 2012

Page 4: Presentation of Redis

• Strings

• Lists

• Sets

• Hashes

• Sorted Sets

Datatyper i Redis

onsdag 14. mars 2012

Page 5: Presentation of Redis

Datatyper i Redis

> set usergroup javabinOK> get usergroup"javabin"> del usergroup(integer) 1

> incr antall(integer) 1> decr antall(integer) 0

• Strings

• Lists

• Sets

• Hashes

• Sorted Sets

onsdag 14. mars 2012

Page 6: Presentation of Redis

Datatyper i Redis

• Strings

• Lists

• Sets

• Hashes

• Sorted Sets

> lpush members Sven(integer) 1> lpush members Kjetil(integer) 2> lpush members Ole-Martin(integer) 3

> rpop members"Sven"> lrange members 0 21) "Ole-Martin"2) "Kjetil"

onsdag 14. mars 2012

Page 7: Presentation of Redis

Datatyper i Redis

• Strings

• Lists

• Sets

• Hashes

• Sorted Sets

> sadd jbmeet nosql(integer) 1> sadd jbmeet jvm(integer) 1> sadd exmeet nosql(integer) 1

> sunion jbmeet exmeet1) "nosql"2) "jvm"> spop jbmeet1) "nosql"

onsdag 14. mars 2012

Page 8: Presentation of Redis

Datatyper i Redis

> hset usergroup name javabin(integer) 1

> hset usergroup members 1000(integer) 1

> hgetall usergroup1) "name"2) "javabin"3) "members"4) "1000"

• Strings

• Lists

• Sets

• Hashes

• Sorted Sets

onsdag 14. mars 2012

Page 9: Presentation of Redis

Datatyper i Redis

> zadd pizza 10 nosql(integer) 1> zadd pizza 20 jvm(integer) 1

> zrangebyscore pizza 0 201) "nosql"2) "jvm"

> zrevrangebyscore pizza inf -inf1) "jvm"2) "nosql"

• Strings

• Lists

• Sets

• Hashes

• Sorted Sets

onsdag 14. mars 2012

Page 10: Presentation of Redis

Eksempel

onsdag 14. mars 2012

Page 11: Presentation of Redis

Applikasjon

onsdag 14. mars 2012

Page 12: Presentation of Redis

Datamodell

storyId1..5

zstoriesstoryId:votes

story:1byte[]story:2byte[]

story:tag:1tag1, tag2, tag3

tag:story:2tagnavn1, tagnavn2

tag:2story1, story2

tag:tagnavn1story:1, story:2

onsdag 14. mars 2012

Page 13: Presentation of Redis

Persistering

onsdag 14. mars 2012

Page 14: Presentation of Redis

RDB persistence

• Dumper hele databasen til disk

• På gitte intervaller

• Antall skriv

• Antall minutter

onsdag 14. mars 2012

Page 15: Presentation of Redis

AOF persistence

• Skriver kontinuerlig til disk

• Tre flush-nivåer

• Hver skriv

• Hvert sekund

• OS-et bestemmer

onsdag 14. mars 2012

Page 16: Presentation of Redis

Anbefalt

onsdag 14. mars 2012

Page 17: Presentation of Redis

Replikering&

Sharding

onsdag 14. mars 2012

Page 18: Presentation of Redis

Replikering

onsdag 14. mars 2012

Page 19: Presentation of Redis

Sharding

• Ikke innebygd støtte for sharding

• Må implementeres selv

onsdag 14. mars 2012

Page 20: Presentation of Redis

maskin 1

32 instanser

maskin 2

32 instanser32 instanser

Server

onsdag 14. mars 2012

Page 21: Presentation of Redis

Annen funksjonalitet

• Transaksjoner

• Optimistisk låsing

• Expire keys

• Publish/Subscribe

• Pipelining

onsdag 14. mars 2012

Page 22: Presentation of Redis

Redis fremover

• 2.6 branch kom forrige uke

• 3.0 mot slutten av året.

onsdag 14. mars 2012

Page 23: Presentation of Redis

Viktig å huske på

• Vær konsistent i nøkkel-navngivningen

• Lær deg datatypene

• Sharding

• Garbage-collection

onsdag 14. mars 2012

Page 24: Presentation of Redis

Argumenter

onsdag 14. mars 2012

Page 25: Presentation of Redis

It’s a VMWare database

Argumenter

onsdag 14. mars 2012

Page 26: Presentation of Redis

Argumenter

• Youporn bruker Redis

• 100.000.000 sidevisninger hver dag

• 300.000 spørringer per sekund

onsdag 14. mars 2012

Page 27: Presentation of Redis

http://redis.io

http://github.com/olemartin/digger

onsdag 14. mars 2012

Page 28: Presentation of Redis

Takk for meg!

Ole-Martin Mørk

@olemartinabout.me/olemartin

onsdag 14. mars 2012


Recommended