SlideShare a Scribd company logo
Indexing Thousands of
  Writes per Second
      with Redis
          Paul Dix
      paul@pauldix.net
          @pauldix
      http://pauldix.net
Iโ€™m Paul Dix
I wrote this
   book
Benchmark Solutions*
                                         who I work for




* weโ€™re hiring, duh! email: paul@benchmarksolutions.com
had a spiel about the
suit..




Before we get to the
       talk...
Indexing thousands of writes per second with redis
That bastard stole my
      thunder!
You donโ€™t think of suit
                   wearing badass




Seรฑor Software Engineer
I work
Finance
the janitors, cleaning
          staff, and the 18 year
          old intern get this title
          too...




Vice President
How could I wear
               anything but a suit?




Finance + VP + Suit =
     douchebag
Distraction




http://www.๏ฌ‚ickr.com/photos/33562486@N07/4288275204/
Bet




http://www.๏ฌ‚ickr.com/photos/11448492@N07/2825781502/
Bar
http://www.๏ฌ‚ickr.com/photos/11448492@N07/2825781502/
@๏ฌ‚avorjones coauthor
        of Nokogiri




credit: @ebiltwin
JSON vs. XML
XML Sucks Hard
JSON is teh awesome
XML parsing S-L-O-W
10x slower
Mike called BS
A bet!
and I was like: โ€œsure, for
        a beerโ€
and Mike was all like:
โ€œok, but thatโ€™s lameโ€
โ€œletโ€™s make it
interesting. Loser wears
   my daughterโ€™s fairy
 wings during your talkโ€
Sure, thatโ€™ll be funny
   and original...
Dr. Nic in fairy wings
That bastard stole my
      thunder!
Nic may have done it as
       part of the talk, but he
       didnโ€™t lose a bet...

       put wings on in red-faced
       shame.




So who won?
credit: @jonathanpberger
Nokogiri ~ 6.8x slower
REXML
(ActiveRecord.from_xml)
      ~ 400x slower
Lesson:
Always use JSON
Lesson:
Donโ€™t make bar bets
However, the bet said
nothing about my slides
Aaron Patterson

 father of nokogiri

 3 slides with
 @tenderloveโ€™s picture?
 wtf?!!
Called Mike:
โ€œNokogiriโ€™s motherโ€
Fairy Godmother?
Lesson:
     Learn Photoshop
(this shit is embarrassing)
Anyway, the point of
    the suit...
take me seriously,
dammit!
On to the actual talk...
itโ€™s about...
Redis
Sustained write load of
   ~ 5k per second
Redis + other data
stores = bad assery
@๏ฌ‚avorjones

   and maybe about Mike
   being some kind of virgin
   mother




credit: @ebiltwin
Lesson:
   Be speci๏ฌc about the
      terms of a bet
(because at least someone
   can use Photoshop)
Whoโ€™s used Redis?
NoSQL
Key/Value Store
Created by
Salvatore San๏ฌlippo
     @antirez
Indexing thousands of writes per second with redis
Data structure store
Basics
Keys
require 'redis'
redis = Redis.new

redis.set("mike", "grants wishes") # => OK
redis.get("mike")   # => "grants wishes"
Counters

redis.incr("fairy_references") # => 1
redis.decr("dignity") # => -1
redis.incrby("fairy_references", 23) # => 24
redis.decrby("dignity", 56) # => 57
Expiration

redis.expire("mike", 120)
redis.expireat("mike",
  1.day.from_now.midnight)
Hashes
redis.hset("paul", "has_wings", true)
redis.hget("paul", "has_wings") # => "true"
redis.hmset("paul",
  :location, "Baltimore",
  :twitter, "@pauldix")
redis.hvals("paul") # => {
#   "has_wings"=>"true",
#   "location"=>"Baltimore",
#   "twitter"=>"@pauldix" }
redis.hlen("paul") # => 3
Lists
redis.lpush("events", "first") # => 1
redis.lpush("events", "second") # => 2
redis.lrange("events", 0, -1) #
  => ["second", "first"]
redis.rpush("events", "third") # => 3
redis.lrange("events", 0, -1) #
  => ["second", "first", "third"]
redis.lpop("events") # => "second"
redis.lrange("events", 0, -1) #
  => ["first", "third"]
redis.rpoplpush("events", "fourth") #
  => "third"
Sets
redis.sadd("user_ids", 1)    #   =>   true
redis.scard("user_ids")      #   =>   1
redis.smembers("user_ids")   #   =>   ["1"]
redis.sismember(1)           #   =>   true
redis.srem("user_ids", 1)    #   =>   true
Sets Continued
# know_paul ["1", "3", "4"]
# know_mike ["3", "5"]
redis.sinter("know_paul", "know_mike")   # =>
["3"]
redis.sdiff("know_paul", "know_mike")    # =>
["1", "4"]
redis.sdiff("know_mike", "know_paul")    # =>
["5"]
redis.sunion("know_paul", "know_mike")   # =>
["1", "3", "4", "5"]
Sorted Sets
redis.zadd("wish_counts", 2, "paul") # =>
  true
redis.zcard("wish_counts") # => 1
redis.zismember("paul") # => true
redis.zrem("wish_counts", "paul") # => true
Sorted Sets Continued
redis.zadd("wish_counts", 12, "rubyland")
redis.zrange("wish_counts", 0, -1) # =>
  ["paul", "rubyland"]
redis.zrange("wish_counts", 0, -1,
  :with_scores => true) # =>
    ["paul", "2", "rubyland", "12"]
redis.zrevrange("wish_counts", 0, -1) # =>
  ["rubyland", "paul"]
Sorted Sets Continued
redis.zrevrangebyscore("wish_counts",
  "+inf", "-inf") # =>
  ["rubyland", "paul"]
redis.zrevrangebyscore("wish_counts",
  "+inf", "10") # => ["rubyland"]
redis.zrevrangebyscore("wish_counts",
  "+inf", "-inf", :limit => [0, 1]) # =>
  ["rubyland"]
Lesson:
Keeping examples consistent
 with a stupid story is hard
pubsub, transactions,
more commadnds.

not covered here, leave me
alone




                 Thereโ€™s more
Crazy Fast
Faster than a greased
       cheetah
or a Delorean with 1.21
       gigawatts
OMG Scaling Sprinkles!
No Wishes Granted

f-you, f-ball!
Lesson:
Getting someone to pose
          is easier
 (also, learn Photoshop)
Still monolithic
not horizontally
scalable, oh noes!
Can shard in client like
          memcached
I know haters, you can
do this
Still not highly available
Still susceptible to
      partitions
However, itโ€™s wicked
      cool
Why Index with Redis?
Donโ€™t



you probably donโ€™t need
it




                          http://www.๏ฌ‚ickr.com/photos/34353483@N00/205467442/
and youโ€™re all like,
โ€œPaul, ...โ€




      But I have to SCALE!
No you donโ€™t
Trust me, Iโ€™m wearing a
          suit
that means I have
authority and...




                    I know shit
and still you cry:




                     But no, really...
Sad SQL is Sad
thousands of
writes per
second? No me
gusto!
ok, ๏ฌne.
My Use Cases
40k unique things
Updating every 10
    seconds
Plus other updates...
Average write load of
  3k-5k writes per
      second
LVC
redis.hset("bonds|1", "bid_price",   96.01)
redis.hset("bonds|1", "ask_price",   97.53)
redis.hset("bonds|2", "bid_price",   90.50)
redis.hset("bonds|2", "ask_price",   92.25)
redis.sadd("bond_ids", 1)
redis.sadd("bond_ids", 2)
Index on the ๏ฌ‚y
SORT
redis.sort("bond_ids",
  :get => "bonds|*->bid_price") # =>
["96.01", "90.5"]

redis.sort("bond_ids",
  :get => "bonds|*->bid_price",
  :get => "#") # => ["1", "2"]

redis.sort("bond_ids",
  :get => "bonds|*->bid_price",
  :get => "#", :limit => [0, 1]) # => ["1"]
SORT Continued
redis.sort("bond_ids",
  :get => "bonds|*->bid_price",
  :get => "#", :order => "desc") # =>
["2", "1"]
                                 redis gem returns the
redis.sort("bond_ids",           results in reverse order.
                                 wha?!

  :get => "bonds|*->ask_price",
  :get => "#") # => ["2", "1"]
redis.sort("bond_ids",
  :get => "bonds|*->ask_price",
  :get => "#",
  :store => "bond_ids_sorted_by_ask_price",
  :expire => 300) # => 2
Getting Records
ids = redis_sort_results.map {|id| id.to_i}
bonds = Bond.find(ids)           note that prices (high
                                 write volume data) come
bond_ids_to_bond = {}            from elsewhere (not the
                                 SQL db)




bonds.each do |bond|
  bond_ids_to_bond[bond.id] = bond
end

results = ids.map do |id|
  bond_ids_to_bond[id]
end
Getting From Redis
redis.hset("bonds|2", "values", data.to_json)

raw_json = redis.sort("bond_ids",    However, then you have
                                     to worry about keeping
                                     the t wo data stores in
  :get => "bonds|*->bid_price",      sync. Weโ€™ll talk about it
                                     later

  :get => "bonds|*->values")

results = raw_json.map do |json|
  DataObject.new(JSON.parse(json))
end
Pre-Indexing
Rolling Index
Last n Events
Activity Log
News Feed
Use a List
                                       O(1) constant time
                                       complexity to add

                                       O(start + n) for reading




N = 500
size = redis.lpush("bond_trades|1", trade_id)

# roll the index
redis.rpop("bond_trades|1") if size > N

# get results
redis.lrange("bond_trades|1", 0, 49)
Indexing Events Since
       Time T
Using a List
redis.lpush("bond_trades|1|2011-05-19-10",
  trade_id)

redis.lrange("bond_trades|1|2011-05-19-10",
  0, -1)
results = redis.pipelined do
  redis.lrange("bond_trades|1|2011-05-19-10",
    0, -1)
  redis.lrange("bond_trades|1|2011-05-19-09",
    0, -1)
end.flatten
Rolling the Index
# when something trades
redis.sadd("bonds_traded|2011-05-19-10",
  bond_id)

# cron task to remove old data
traded_ids = redis.smembers(
  "bonds_traded|2011-05-19-10")
keys = traded_ids.map do |id|
  "bond_trades|#{id}|2011-05-19-10"
end
keys << "bonds_traded|2011-05-19-10"
redis.del(*keys)
Using a Sorted Set
# Time based Rolling Index using sorted set
redis.zadd("bond_trades|1",      O(log(n)) writes


  Time.now.to_i, trade_id)       O(log(n) + M) reads




# last 20 trades
redis.zrevrange("bond_trades|1", 0, 20)

# trades in the last hour
redis.zrevrangebyscore("bond_trades|1",
  "+inf", 1.hour.ago.to_i)
Rolling the Index
# cron task to roll the index
bond_ids = redis.smembers("bond_ids")
remove_since_time = 24.hours.ago.to_i

redis.pipelined do
  bond_ids.each do |id|
    redis.zremrangebyscore(
      "bond_trades|#{id}", "-inf",
      remove_since_time)
  end
end
Or roll on read or
           write
redis.zadd("bond_trades|1",
  Time.now.to_i, trade_id)

redis.zremrangebyscore("bond_trades|1",
  "-inf", 24.hours.ago)
Indexing N Values
redis.zadd("highest_follower_counts", 2300, 20)
redis.zadd("lowest_follower_counts", 2300, 20)
# rolling the indexes
# keep the lowest
size = redis.zcard("lowest_follower_counts")
redis.zremrangebyrank("lowest_follower_counts",
  N, -1) if size > N

# keep the highest
size = redis.zcard("highest_follower_counts")
redis.zremrangebyrank("highest_follower_counts",
  0, size - N) if size > N
rolling requires more
roundtrips




           2 roundtrips
        (only with complex
             pipelining)
Roll indexes with only
       one trip
Tweet to @antirez that
  you want scripting
Keeping it Consistent
create/update/destroy
database transactions
          canโ€™t help you here, youโ€™ll
          have to put them into
          your application logic




No transactions,
application logic
Disaster Recovery
Two failure scenarios
Web app dies
Redis server dies
Could result in index
   inconsistency
Simple recovery script
Write Index Times

redis.set("last_bond_trade_indexed",
  trade.created_at.to_i)
Restore Each Index
time_int = redis.get("last_bond_trade_indexed").to_i
index_time = Time.at(time_int)
trades = Trade.where(
  "created_at > :index_time AND created_at <= :now",
  {:index_time => index_time, :now => Time.now})

trades.each do |trade|       list you have to run while
                             not writing new data.
  trade.index_in_redis       Set can be made to run
end                          while writing new data
Our scale
Single Process
Sets donโ€™t work with
intersection, union, or
diff.

SORT wonโ€™t work unless
all those keys fall on the
same server




            Easy to Scale
         (consistent hashing)
Works like a champ
Final Thoughts
Use Only if you have
        to!
Index the minimum to
keep memory footprint
         down
 use rolling indexes, donโ€™t
 keep more shit in
 memory than you need.
 Users wonโ€™t page through
 20 pages of results, so
 donโ€™t store that many
Plan for disaster and
consistency checking
Finally...
Look at my circle, bitches!
Lesson:
Never trust a guy in a suit
not pull a fast one on you
Thanks!
    Paul Dix
paul@pauldix.net
    @pauldix
http://pauldix.net
Ad

More Related Content

What's hot (20)

Functional Programming with Groovy
Functional Programming with GroovyFunctional Programming with Groovy
Functional Programming with Groovy
Arturo Herrero
ย 
Why Haskell
Why HaskellWhy Haskell
Why Haskell
Susan Potter
ย 
Patterns for slick database applications
Patterns for slick database applicationsPatterns for slick database applications
Patterns for slick database applications
Skills Matter
ย 
JavaScript Fundamentals with Angular and Lodash
JavaScript Fundamentals with Angular and LodashJavaScript Fundamentals with Angular and Lodash
JavaScript Fundamentals with Angular and Lodash
Bret Little
ย 
Callbacks, Promises, and Coroutines (oh my!): Asynchronous Programming Patter...
Callbacks, Promises, and Coroutines (oh my!): Asynchronous Programming Patter...Callbacks, Promises, and Coroutines (oh my!): Asynchronous Programming Patter...
Callbacks, Promises, and Coroutines (oh my!): Asynchronous Programming Patter...
Domenic Denicola
ย 
Pragmatic Real-World Scala (short version)
Pragmatic Real-World Scala (short version)Pragmatic Real-World Scala (short version)
Pragmatic Real-World Scala (short version)
Jonas Bonรฉr
ย 
Synapse india complain sharing info about php chaptr 26
Synapse india complain sharing info about php chaptr 26Synapse india complain sharing info about php chaptr 26
Synapse india complain sharing info about php chaptr 26
SynapseindiaComplaints
ย 
Singletons in PHP - Why they are bad and how you can eliminate them from your...
Singletons in PHP - Why they are bad and how you can eliminate them from your...Singletons in PHP - Why they are bad and how you can eliminate them from your...
Singletons in PHP - Why they are bad and how you can eliminate them from your...
go_oh
ย 
Into Clojure
Into ClojureInto Clojure
Into Clojure
Alf Kristian Stรธyle
ย 
Lodash js
Lodash jsLodash js
Lodash js
LearningTech
ย 
Design Patterns Reconsidered
Design Patterns ReconsideredDesign Patterns Reconsidered
Design Patterns Reconsidered
Alex Miller
ย 
Sneaking inside Kotlin features
Sneaking inside Kotlin featuresSneaking inside Kotlin features
Sneaking inside Kotlin features
Chandra Sekhar Nayak
ย 
Powerful JavaScript Tips and Best Practices
Powerful JavaScript Tips and Best PracticesPowerful JavaScript Tips and Best Practices
Powerful JavaScript Tips and Best Practices
Dragos Ionita
ย 
Introduction to julia
Introduction to juliaIntroduction to julia
Introduction to julia
ๅฒณ่ฏ ๆœ
ย 
Chaining and function composition with lodash / underscore
Chaining and function composition with lodash / underscoreChaining and function composition with lodash / underscore
Chaining and function composition with lodash / underscore
Nicolas Carlo
ย 
Scala introduction
Scala introductionScala introduction
Scala introduction
Alf Kristian Stรธyle
ย 
C++ L09-Classes Part2
C++ L09-Classes Part2C++ L09-Classes Part2
C++ L09-Classes Part2
Mohammad Shaker
ย 
C# 7
C# 7C# 7
C# 7
Mike Harris
ย 
PDBC
PDBCPDBC
PDBC
Sunil OS
ย 
Programmation fonctionnelle en JavaScript
Programmation fonctionnelle en JavaScriptProgrammation fonctionnelle en JavaScript
Programmation fonctionnelle en JavaScript
Loรฏc Knuchel
ย 
Functional Programming with Groovy
Functional Programming with GroovyFunctional Programming with Groovy
Functional Programming with Groovy
Arturo Herrero
ย 
Why Haskell
Why HaskellWhy Haskell
Why Haskell
Susan Potter
ย 
Patterns for slick database applications
Patterns for slick database applicationsPatterns for slick database applications
Patterns for slick database applications
Skills Matter
ย 
JavaScript Fundamentals with Angular and Lodash
JavaScript Fundamentals with Angular and LodashJavaScript Fundamentals with Angular and Lodash
JavaScript Fundamentals with Angular and Lodash
Bret Little
ย 
Callbacks, Promises, and Coroutines (oh my!): Asynchronous Programming Patter...
Callbacks, Promises, and Coroutines (oh my!): Asynchronous Programming Patter...Callbacks, Promises, and Coroutines (oh my!): Asynchronous Programming Patter...
Callbacks, Promises, and Coroutines (oh my!): Asynchronous Programming Patter...
Domenic Denicola
ย 
Pragmatic Real-World Scala (short version)
Pragmatic Real-World Scala (short version)Pragmatic Real-World Scala (short version)
Pragmatic Real-World Scala (short version)
Jonas Bonรฉr
ย 
Synapse india complain sharing info about php chaptr 26
Synapse india complain sharing info about php chaptr 26Synapse india complain sharing info about php chaptr 26
Synapse india complain sharing info about php chaptr 26
SynapseindiaComplaints
ย 
Singletons in PHP - Why they are bad and how you can eliminate them from your...
Singletons in PHP - Why they are bad and how you can eliminate them from your...Singletons in PHP - Why they are bad and how you can eliminate them from your...
Singletons in PHP - Why they are bad and how you can eliminate them from your...
go_oh
ย 
Lodash js
Lodash jsLodash js
Lodash js
LearningTech
ย 
Design Patterns Reconsidered
Design Patterns ReconsideredDesign Patterns Reconsidered
Design Patterns Reconsidered
Alex Miller
ย 
Sneaking inside Kotlin features
Sneaking inside Kotlin featuresSneaking inside Kotlin features
Sneaking inside Kotlin features
Chandra Sekhar Nayak
ย 
Powerful JavaScript Tips and Best Practices
Powerful JavaScript Tips and Best PracticesPowerful JavaScript Tips and Best Practices
Powerful JavaScript Tips and Best Practices
Dragos Ionita
ย 
Chaining and function composition with lodash / underscore
Chaining and function composition with lodash / underscoreChaining and function composition with lodash / underscore
Chaining and function composition with lodash / underscore
Nicolas Carlo
ย 
C++ L09-Classes Part2
C++ L09-Classes Part2C++ L09-Classes Part2
C++ L09-Classes Part2
Mohammad Shaker
ย 
PDBC
PDBCPDBC
PDBC
Sunil OS
ย 
Programmation fonctionnelle en JavaScript
Programmation fonctionnelle en JavaScriptProgrammation fonctionnelle en JavaScript
Programmation fonctionnelle en JavaScript
Loรฏc Knuchel
ย 

Viewers also liked (20)

Redis persistence in practice
Redis persistence in practiceRedis persistence in practice
Redis persistence in practice
Eugene Fidelin
ย 
Scaling Crashlytics: Building Analytics on Redis 2.6
Scaling Crashlytics: Building Analytics on Redis 2.6Scaling Crashlytics: Building Analytics on Redis 2.6
Scaling Crashlytics: Building Analytics on Redis 2.6
Crashlytics
ย 
Scaling up with Cisco Big Data: Data + Science = Data Science
Scaling up with Cisco Big Data: Data + Science = Data ScienceScaling up with Cisco Big Data: Data + Science = Data Science
Scaling up with Cisco Big Data: Data + Science = Data Science
eRic Choo
ย 
Greenplum- an opensource
Greenplum- an opensourceGreenplum- an opensource
Greenplum- an opensource
Rosy Mani
ย 
Open Source Framework for Deploying Data Science Models and Cloud Based Appli...
Open Source Framework for Deploying Data Science Models and Cloud Based Appli...Open Source Framework for Deploying Data Science Models and Cloud Based Appli...
Open Source Framework for Deploying Data Science Models and Cloud Based Appli...
ETCenter
ย 
Data science
Data scienceData science
Data science
9diov
ย 
Creating a contemporary risk management system using python (dc)
Creating a contemporary risk management system using python (dc)Creating a contemporary risk management system using python (dc)
Creating a contemporary risk management system using python (dc)
Piero Ferrante
ย 
DataScience and BigData Cebu 1st meetup
DataScience and BigData Cebu 1st meetupDataScience and BigData Cebu 1st meetup
DataScience and BigData Cebu 1st meetup
Francisco Liwa
ย 
International Collaboration Networks in the Emerging (Big) Data Science
International Collaboration Networks in the Emerging (Big) Data ScienceInternational Collaboration Networks in the Emerging (Big) Data Science
International Collaboration Networks in the Emerging (Big) Data Science
datasciencekorea
ย 
Fiche Produit Verteego Data Suite, mars 2017
Fiche Produit Verteego Data Suite, mars 2017Fiche Produit Verteego Data Suite, mars 2017
Fiche Produit Verteego Data Suite, mars 2017
Jeremy Fain
ย 
The Role of Data Science in Enterprise Risk Management, Presented by John Liu
The Role of Data Science in Enterprise Risk Management, Presented by John LiuThe Role of Data Science in Enterprise Risk Management, Presented by John Liu
The Role of Data Science in Enterprise Risk Management, Presented by John Liu
NashvilleTechCouncil
ย 
Redis to the Rescue?
Redis to the Rescue?Redis to the Rescue?
Redis to the Rescue?
Wooga
ย 
High-Volume Data Collection and Real Time Analytics Using Redis
High-Volume Data Collection and Real Time Analytics Using RedisHigh-Volume Data Collection and Real Time Analytics Using Redis
High-Volume Data Collection and Real Time Analytics Using Redis
cacois
ย 
Realtime Risk Management Using Kafka, Python, and Spark Streaming by Nick Evans
Realtime Risk Management Using Kafka, Python, and Spark Streaming by Nick EvansRealtime Risk Management Using Kafka, Python, and Spark Streaming by Nick Evans
Realtime Risk Management Using Kafka, Python, and Spark Streaming by Nick Evans
Spark Summit
ย 
Redis Use Patterns (DevconTLV June 2014)
Redis Use Patterns (DevconTLV June 2014)Redis Use Patterns (DevconTLV June 2014)
Redis Use Patterns (DevconTLV June 2014)
Itamar Haber
ย 
Building Realtime Data Pipelines with Kafka Connect and Spark Streaming by Ew...
Building Realtime Data Pipelines with Kafka Connect and Spark Streaming by Ew...Building Realtime Data Pipelines with Kafka Connect and Spark Streaming by Ew...
Building Realtime Data Pipelines with Kafka Connect and Spark Streaming by Ew...
Spark Summit
ย 
Indexing or dividing_head
Indexing or dividing_headIndexing or dividing_head
Indexing or dividing_head
Javaria Chiragh
ย 
Data Visualisation for Data Science
Data Visualisation for Data ScienceData Visualisation for Data Science
Data Visualisation for Data Science
Christophe Bontemps
ย 
Introduction to Data Science and Large-scale Machine Learning
Introduction to Data Science and Large-scale Machine LearningIntroduction to Data Science and Large-scale Machine Learning
Introduction to Data Science and Large-scale Machine Learning
Nik Spirin
ย 
Semi-Detailed Lesson Plan on Reading Letter
Semi-Detailed Lesson Plan on Reading LetterSemi-Detailed Lesson Plan on Reading Letter
Semi-Detailed Lesson Plan on Reading Letter
Talugtug National High School
ย 
Redis persistence in practice
Redis persistence in practiceRedis persistence in practice
Redis persistence in practice
Eugene Fidelin
ย 
Scaling Crashlytics: Building Analytics on Redis 2.6
Scaling Crashlytics: Building Analytics on Redis 2.6Scaling Crashlytics: Building Analytics on Redis 2.6
Scaling Crashlytics: Building Analytics on Redis 2.6
Crashlytics
ย 
Scaling up with Cisco Big Data: Data + Science = Data Science
Scaling up with Cisco Big Data: Data + Science = Data ScienceScaling up with Cisco Big Data: Data + Science = Data Science
Scaling up with Cisco Big Data: Data + Science = Data Science
eRic Choo
ย 
Greenplum- an opensource
Greenplum- an opensourceGreenplum- an opensource
Greenplum- an opensource
Rosy Mani
ย 
Open Source Framework for Deploying Data Science Models and Cloud Based Appli...
Open Source Framework for Deploying Data Science Models and Cloud Based Appli...Open Source Framework for Deploying Data Science Models and Cloud Based Appli...
Open Source Framework for Deploying Data Science Models and Cloud Based Appli...
ETCenter
ย 
Data science
Data scienceData science
Data science
9diov
ย 
Creating a contemporary risk management system using python (dc)
Creating a contemporary risk management system using python (dc)Creating a contemporary risk management system using python (dc)
Creating a contemporary risk management system using python (dc)
Piero Ferrante
ย 
DataScience and BigData Cebu 1st meetup
DataScience and BigData Cebu 1st meetupDataScience and BigData Cebu 1st meetup
DataScience and BigData Cebu 1st meetup
Francisco Liwa
ย 
International Collaboration Networks in the Emerging (Big) Data Science
International Collaboration Networks in the Emerging (Big) Data ScienceInternational Collaboration Networks in the Emerging (Big) Data Science
International Collaboration Networks in the Emerging (Big) Data Science
datasciencekorea
ย 
Fiche Produit Verteego Data Suite, mars 2017
Fiche Produit Verteego Data Suite, mars 2017Fiche Produit Verteego Data Suite, mars 2017
Fiche Produit Verteego Data Suite, mars 2017
Jeremy Fain
ย 
The Role of Data Science in Enterprise Risk Management, Presented by John Liu
The Role of Data Science in Enterprise Risk Management, Presented by John LiuThe Role of Data Science in Enterprise Risk Management, Presented by John Liu
The Role of Data Science in Enterprise Risk Management, Presented by John Liu
NashvilleTechCouncil
ย 
Redis to the Rescue?
Redis to the Rescue?Redis to the Rescue?
Redis to the Rescue?
Wooga
ย 
High-Volume Data Collection and Real Time Analytics Using Redis
High-Volume Data Collection and Real Time Analytics Using RedisHigh-Volume Data Collection and Real Time Analytics Using Redis
High-Volume Data Collection and Real Time Analytics Using Redis
cacois
ย 
Realtime Risk Management Using Kafka, Python, and Spark Streaming by Nick Evans
Realtime Risk Management Using Kafka, Python, and Spark Streaming by Nick EvansRealtime Risk Management Using Kafka, Python, and Spark Streaming by Nick Evans
Realtime Risk Management Using Kafka, Python, and Spark Streaming by Nick Evans
Spark Summit
ย 
Redis Use Patterns (DevconTLV June 2014)
Redis Use Patterns (DevconTLV June 2014)Redis Use Patterns (DevconTLV June 2014)
Redis Use Patterns (DevconTLV June 2014)
Itamar Haber
ย 
Building Realtime Data Pipelines with Kafka Connect and Spark Streaming by Ew...
Building Realtime Data Pipelines with Kafka Connect and Spark Streaming by Ew...Building Realtime Data Pipelines with Kafka Connect and Spark Streaming by Ew...
Building Realtime Data Pipelines with Kafka Connect and Spark Streaming by Ew...
Spark Summit
ย 
Indexing or dividing_head
Indexing or dividing_headIndexing or dividing_head
Indexing or dividing_head
Javaria Chiragh
ย 
Data Visualisation for Data Science
Data Visualisation for Data ScienceData Visualisation for Data Science
Data Visualisation for Data Science
Christophe Bontemps
ย 
Introduction to Data Science and Large-scale Machine Learning
Introduction to Data Science and Large-scale Machine LearningIntroduction to Data Science and Large-scale Machine Learning
Introduction to Data Science and Large-scale Machine Learning
Nik Spirin
ย 
Semi-Detailed Lesson Plan on Reading Letter
Semi-Detailed Lesson Plan on Reading LetterSemi-Detailed Lesson Plan on Reading Letter
Semi-Detailed Lesson Plan on Reading Letter
Talugtug National High School
ย 
Ad

Similar to Indexing thousands of writes per second with redis (20)

Rails-like JavaScript Using CoffeeScript, Backbone.js and Jasmine
Rails-like JavaScript Using CoffeeScript, Backbone.js and JasmineRails-like JavaScript Using CoffeeScript, Backbone.js and Jasmine
Rails-like JavaScript Using CoffeeScript, Backbone.js and Jasmine
Raimonds Simanovskis
ย 
Monads in python
Monads in pythonMonads in python
Monads in python
eldariof
ย 
Type safe embedded domain-specific languages
Type safe embedded domain-specific languagesType safe embedded domain-specific languages
Type safe embedded domain-specific languages
Arthur Xavier
ย 
Amir Salihefendic: Redis - the hacker's database
Amir Salihefendic: Redis - the hacker's databaseAmir Salihefendic: Redis - the hacker's database
Amir Salihefendic: Redis - the hacker's database
it-people
ย 
Redis - Usability and Use Cases
Redis - Usability and Use CasesRedis - Usability and Use Cases
Redis - Usability and Use Cases
Fabrizio Farinacci
ย 
Story for a Ruby on Rails Single Engineer
Story for a Ruby on Rails Single EngineerStory for a Ruby on Rails Single Engineer
Story for a Ruby on Rails Single Engineer
TylerJohnson988371
ย 
Practical Ruby Projects with MongoDB - Ruby Kaigi 2010
Practical Ruby Projects with MongoDB - Ruby Kaigi 2010Practical Ruby Projects with MongoDB - Ruby Kaigi 2010
Practical Ruby Projects with MongoDB - Ruby Kaigi 2010
Alex Sharp
ย 
Advanced Redis data structures
Advanced Redis data structuresAdvanced Redis data structures
Advanced Redis data structures
amix3k
ย 
Redis the better NoSQL
Redis the better NoSQLRedis the better NoSQL
Redis the better NoSQL
OpenFest team
ย 
Ruby and Rails by Example (GeekCamp edition)
Ruby and Rails by Example (GeekCamp edition)Ruby and Rails by Example (GeekCamp edition)
Ruby and Rails by Example (GeekCamp edition)
bryanbibat
ย 
A XSSmas carol
A XSSmas carolA XSSmas carol
A XSSmas carol
cgvwzq
ย 
Beyond PHP - It's not (just) about the code
Beyond PHP - It's not (just) about the codeBeyond PHP - It's not (just) about the code
Beyond PHP - It's not (just) about the code
Wim Godden
ย 
Active Record Inheritance in Rails
Active Record Inheritance in RailsActive Record Inheritance in Rails
Active Record Inheritance in Rails
Sandip Ransing
ย 
Beware sharp tools
Beware sharp toolsBeware sharp tools
Beware sharp tools
AgileOnTheBeach
ย 
Practical Ruby Projects (Alex Sharp)
Practical Ruby Projects (Alex Sharp)Practical Ruby Projects (Alex Sharp)
Practical Ruby Projects (Alex Sharp)
MongoSF
ย 
Practical Ruby Projects with MongoDB - MongoSF
Practical Ruby Projects with MongoDB - MongoSFPractical Ruby Projects with MongoDB - MongoSF
Practical Ruby Projects with MongoDB - MongoSF
Alex Sharp
ย 
Ggplot2 v3
Ggplot2 v3Ggplot2 v3
Ggplot2 v3
Josh Doyle
ย 
Beware: Sharp Tools
Beware: Sharp ToolsBeware: Sharp Tools
Beware: Sharp Tools
chrismdp
ย 
Redis Indices (#RedisTLV)
Redis Indices (#RedisTLV)Redis Indices (#RedisTLV)
Redis Indices (#RedisTLV)
Itamar Haber
ย 
Practical Ruby Projects With Mongo Db
Practical Ruby Projects With Mongo DbPractical Ruby Projects With Mongo Db
Practical Ruby Projects With Mongo Db
Alex Sharp
ย 
Rails-like JavaScript Using CoffeeScript, Backbone.js and Jasmine
Rails-like JavaScript Using CoffeeScript, Backbone.js and JasmineRails-like JavaScript Using CoffeeScript, Backbone.js and Jasmine
Rails-like JavaScript Using CoffeeScript, Backbone.js and Jasmine
Raimonds Simanovskis
ย 
Monads in python
Monads in pythonMonads in python
Monads in python
eldariof
ย 
Type safe embedded domain-specific languages
Type safe embedded domain-specific languagesType safe embedded domain-specific languages
Type safe embedded domain-specific languages
Arthur Xavier
ย 
Amir Salihefendic: Redis - the hacker's database
Amir Salihefendic: Redis - the hacker's databaseAmir Salihefendic: Redis - the hacker's database
Amir Salihefendic: Redis - the hacker's database
it-people
ย 
Redis - Usability and Use Cases
Redis - Usability and Use CasesRedis - Usability and Use Cases
Redis - Usability and Use Cases
Fabrizio Farinacci
ย 
Story for a Ruby on Rails Single Engineer
Story for a Ruby on Rails Single EngineerStory for a Ruby on Rails Single Engineer
Story for a Ruby on Rails Single Engineer
TylerJohnson988371
ย 
Practical Ruby Projects with MongoDB - Ruby Kaigi 2010
Practical Ruby Projects with MongoDB - Ruby Kaigi 2010Practical Ruby Projects with MongoDB - Ruby Kaigi 2010
Practical Ruby Projects with MongoDB - Ruby Kaigi 2010
Alex Sharp
ย 
Advanced Redis data structures
Advanced Redis data structuresAdvanced Redis data structures
Advanced Redis data structures
amix3k
ย 
Redis the better NoSQL
Redis the better NoSQLRedis the better NoSQL
Redis the better NoSQL
OpenFest team
ย 
Ruby and Rails by Example (GeekCamp edition)
Ruby and Rails by Example (GeekCamp edition)Ruby and Rails by Example (GeekCamp edition)
Ruby and Rails by Example (GeekCamp edition)
bryanbibat
ย 
A XSSmas carol
A XSSmas carolA XSSmas carol
A XSSmas carol
cgvwzq
ย 
Beyond PHP - It's not (just) about the code
Beyond PHP - It's not (just) about the codeBeyond PHP - It's not (just) about the code
Beyond PHP - It's not (just) about the code
Wim Godden
ย 
Active Record Inheritance in Rails
Active Record Inheritance in RailsActive Record Inheritance in Rails
Active Record Inheritance in Rails
Sandip Ransing
ย 
Beware sharp tools
Beware sharp toolsBeware sharp tools
Beware sharp tools
AgileOnTheBeach
ย 
Practical Ruby Projects (Alex Sharp)
Practical Ruby Projects (Alex Sharp)Practical Ruby Projects (Alex Sharp)
Practical Ruby Projects (Alex Sharp)
MongoSF
ย 
Practical Ruby Projects with MongoDB - MongoSF
Practical Ruby Projects with MongoDB - MongoSFPractical Ruby Projects with MongoDB - MongoSF
Practical Ruby Projects with MongoDB - MongoSF
Alex Sharp
ย 
Ggplot2 v3
Ggplot2 v3Ggplot2 v3
Ggplot2 v3
Josh Doyle
ย 
Beware: Sharp Tools
Beware: Sharp ToolsBeware: Sharp Tools
Beware: Sharp Tools
chrismdp
ย 
Redis Indices (#RedisTLV)
Redis Indices (#RedisTLV)Redis Indices (#RedisTLV)
Redis Indices (#RedisTLV)
Itamar Haber
ย 
Practical Ruby Projects With Mongo Db
Practical Ruby Projects With Mongo DbPractical Ruby Projects With Mongo Db
Practical Ruby Projects With Mongo Db
Alex Sharp
ย 
Ad

More from pauldix (7)

An introduction to reinforcement learning (rl)
An introduction to reinforcement learning (rl)An introduction to reinforcement learning (rl)
An introduction to reinforcement learning (rl)
pauldix
ย 
Terascale Learning
Terascale LearningTerascale Learning
Terascale Learning
pauldix
ย 
Building Web Service Clients with ActiveModel
Building Web Service Clients with ActiveModelBuilding Web Service Clients with ActiveModel
Building Web Service Clients with ActiveModel
pauldix
ย 
Building Web Service Clients with ActiveModel
Building Web Service Clients with ActiveModelBuilding Web Service Clients with ActiveModel
Building Web Service Clients with ActiveModel
pauldix
ย 
Building Event-Based Systems for the Real-Time Web
Building Event-Based Systems for the Real-Time WebBuilding Event-Based Systems for the Real-Time Web
Building Event-Based Systems for the Real-Time Web
pauldix
ย 
Synchronous Reads Asynchronous Writes RubyConf 2009
Synchronous Reads Asynchronous Writes RubyConf 2009Synchronous Reads Asynchronous Writes RubyConf 2009
Synchronous Reads Asynchronous Writes RubyConf 2009
pauldix
ย 
Machine Learning Techniques for the Semantic Web
Machine Learning Techniques for the Semantic WebMachine Learning Techniques for the Semantic Web
Machine Learning Techniques for the Semantic Web
pauldix
ย 
An introduction to reinforcement learning (rl)
An introduction to reinforcement learning (rl)An introduction to reinforcement learning (rl)
An introduction to reinforcement learning (rl)
pauldix
ย 
Terascale Learning
Terascale LearningTerascale Learning
Terascale Learning
pauldix
ย 
Building Web Service Clients with ActiveModel
Building Web Service Clients with ActiveModelBuilding Web Service Clients with ActiveModel
Building Web Service Clients with ActiveModel
pauldix
ย 
Building Web Service Clients with ActiveModel
Building Web Service Clients with ActiveModelBuilding Web Service Clients with ActiveModel
Building Web Service Clients with ActiveModel
pauldix
ย 
Building Event-Based Systems for the Real-Time Web
Building Event-Based Systems for the Real-Time WebBuilding Event-Based Systems for the Real-Time Web
Building Event-Based Systems for the Real-Time Web
pauldix
ย 
Synchronous Reads Asynchronous Writes RubyConf 2009
Synchronous Reads Asynchronous Writes RubyConf 2009Synchronous Reads Asynchronous Writes RubyConf 2009
Synchronous Reads Asynchronous Writes RubyConf 2009
pauldix
ย 
Machine Learning Techniques for the Semantic Web
Machine Learning Techniques for the Semantic WebMachine Learning Techniques for the Semantic Web
Machine Learning Techniques for the Semantic Web
pauldix
ย 

Recently uploaded (20)

Rusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond SparkRusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond Spark
carlyakerly1
ย 
Cybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure ADCybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure AD
VICTOR MAESTRE RAMIREZ
ย 
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
SOFTTECHHUB
ย 
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes
ย 
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath MaestroDev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
UiPathCommunity
ย 
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdfThe Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
Abi john
ย 
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdfSAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
Precisely
ย 
Big Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur MorganBig Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur Morgan
Arthur Morgan
ย 
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Impelsys Inc.
ย 
How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?
Daniel Lehner
ย 
Semantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AISemantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AI
artmondano
ย 
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptxDevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
Justin Reock
ย 
Linux Support for SMARC: How Toradex Empowers Embedded Developers
Linux Support for SMARC: How Toradex Empowers Embedded DevelopersLinux Support for SMARC: How Toradex Empowers Embedded Developers
Linux Support for SMARC: How Toradex Empowers Embedded Developers
Toradex
ย 
HCL Nomad Web โ€“ Best Practices and Managing Multiuser Environments
HCL Nomad Web โ€“ Best Practices and Managing Multiuser EnvironmentsHCL Nomad Web โ€“ Best Practices and Managing Multiuser Environments
HCL Nomad Web โ€“ Best Practices and Managing Multiuser Environments
panagenda
ย 
Drupalcamp Finland โ€“ Measuring Front-end Energy Consumption
Drupalcamp Finland โ€“ Measuring Front-end Energy ConsumptionDrupalcamp Finland โ€“ Measuring Front-end Energy Consumption
Drupalcamp Finland โ€“ Measuring Front-end Energy Consumption
Exove
ย 
Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)
Ortus Solutions, Corp
ย 
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptxSpecial Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
shyamraj55
ย 
Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025
Splunk
ย 
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdfComplete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Software Company
ย 
What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...
Vishnu Singh Chundawat
ย 
Rusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond SparkRusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond Spark
carlyakerly1
ย 
Cybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure ADCybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure AD
VICTOR MAESTRE RAMIREZ
ย 
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
SOFTTECHHUB
ย 
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes
ย 
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath MaestroDev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
UiPathCommunity
ย 
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdfThe Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
Abi john
ย 
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdfSAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
Precisely
ย 
Big Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur MorganBig Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur Morgan
Arthur Morgan
ย 
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Impelsys Inc.
ย 
How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?
Daniel Lehner
ย 
Semantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AISemantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AI
artmondano
ย 
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptxDevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
Justin Reock
ย 
Linux Support for SMARC: How Toradex Empowers Embedded Developers
Linux Support for SMARC: How Toradex Empowers Embedded DevelopersLinux Support for SMARC: How Toradex Empowers Embedded Developers
Linux Support for SMARC: How Toradex Empowers Embedded Developers
Toradex
ย 
HCL Nomad Web โ€“ Best Practices and Managing Multiuser Environments
HCL Nomad Web โ€“ Best Practices and Managing Multiuser EnvironmentsHCL Nomad Web โ€“ Best Practices and Managing Multiuser Environments
HCL Nomad Web โ€“ Best Practices and Managing Multiuser Environments
panagenda
ย 
Drupalcamp Finland โ€“ Measuring Front-end Energy Consumption
Drupalcamp Finland โ€“ Measuring Front-end Energy ConsumptionDrupalcamp Finland โ€“ Measuring Front-end Energy Consumption
Drupalcamp Finland โ€“ Measuring Front-end Energy Consumption
Exove
ย 
Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)
Ortus Solutions, Corp
ย 
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptxSpecial Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
shyamraj55
ย 
Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025
Splunk
ย 
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdfComplete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Software Company
ย 
What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...
Vishnu Singh Chundawat
ย 

Indexing thousands of writes per second with redis

Editor's Notes