Kqr Row Cache Contention Check Gets < DIRECT >

But they didn’t just rush to the database — they collided at the . You see, KQR’s cache was protected by a single, global synchronized block for writes.

KQR’s cache logic looked like this (pseudocode): kqr row cache contention check gets

def get(key): if key in cache: return cache[key] else: value = db.query("SELECT * FROM items WHERE id = ?", key) // slow cache[key] = value return value Because the cache was empty, all 10,000 threads saw a at the exact same moment. They all rushed to the database. But they didn’t just rush to the database

At 9:00:00 AM, a surge of traffic hit. Every user, in every time zone, suddenly demanded the same piece of data: the flash sale metadata for item ID #42. in every time zone

answer

Similar Topics

at email

Our newsletter

To join our newsletter please add your email below

phone

IslamQA App

For a quick access to our content and offline browsing

download iosdownload android