`There are only two hard things in Computer Science: cache invalidation and naming things`. This talk is about the value of `nothing`. I will discuss the success of caching for app performance, but how at one point `nothing` took down production. Learn factors to consider when caching for APIs.
Intro (1 min)
Overview of talk: the topic, why, what you will learn
Inspiration for talk and goals
The scenario: what, why, where, how of caching (6 min, 7 total)
What is a cache and cache invalidation
Why are we caching and how can it help you with app performance?
Where are are caching data and how can it be accessed?
How are we caching data?
Factors to consider when caching data (6 min, 13 total)
API design: do we include null data
Options to store the data
string, hash, hash fields (JSON via Redis pipelining and Lua)
ReJSON - native JSON in Redis
How to invalidate / avoid stale data
The problem with
nothing (4 min, 17 total)
How nothing helps with cache invalidation
What is null?
nothing is represented differently
‘None’ is not same as None
nothing take down production (2 min, 19 total)
Lessons learned (2 min, 21 total)
Wrap up / the value of
nothing (2 min, 23 total)
Learn about caching and how to handle the problem of cache invalidation
Why null values can be important and how to handle when they are expressed differently (None, null, nil, etc)
Learn how caching can help with app and database performance