Redis : Play buzz uses Redis

Post on 16-Apr-2017

148 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

Transcript

A little bit about myself

Chen Salomon, Data architect– c@Playbuzz.com

First developer @ Playbuzz

The guy that still wakes when shit hits the fan…

Currently leading (data) solutions

Playbuzz

3 years old

4 locations (Israel, NY, London, Hamburg)

100 employees

30 in RnD (we are still small…)

Seconds on a page

60% 78% 15

Source: Wall Street Journal, 2014

Changes in internet content

of internet users don’t

read entire articles

Web publishers

get

of traffic through

referrals from

Facebook on

average

User stays only

Playbuzz is the king of Engaging Content™

7,000+publishers can’t

be wrong

Formats

Gallery QuizTriviaPersonality QuizListRevealRanked List

Countdown ListPoll

Open List

Photo Caption

Video

THE SECRET SAUCE

• Keep it simple and super slim – We always try to keep our

production with as few servers as possible

• Be lazy – We pay a lot on insert and barely work on reads

• Know your traffic

• Enabling the business to scale at minimal cost

How we do it?

• Object caching

• Production usage

• Keeping items in cache (lazy initialization) – objects (strings)

• List management as sorted sets

• Permissions are hashmaps

Where you can find Redis in our system?

• Distributed HTML Output caching

• ETL session management and enrichments

• Session parameters are objects

• IP to location (in a few seconds)

Where you can find Redis in our system?

Most recent Redis project

IP to location

• Location objects are hash-maps

• Convert IP to integers

• e.g. IP 10.0.0.138 -> 10 *(256^3) + 0 *(256^2) + 0 *(256) + 138

*(256^0) =167772298

• ZRANGEBYSCORE to find the range (position) – returns the first item

that larger than the IP.

• HGETALL for the returned position

• Challenges

• IP V6 (same idea –different multiplier)

• Empty subnets – You can’t use only lower/upper bounds

We are hiring – jobs@playbuzz.com

top related