|
|
|
|
|
by xorcist
1283 days ago
|
|
Design decisions are not the "why"s. Commits are point in time checkpoints why development took a certain path. Let's take an example. If a what looks like this: Store user full name in session table The why can look something like this: The full name is authoritatively stored in the user database and should be looked in using the user name. However, during deploys of the Raticate system, the cache gets invalidated and we need to quickly refresh it. This leads to a thundering herd system, as in incident 5244. By caching the full name in the session table we sidestep this problem entirely. The reason why the Redis cache was not chosen for this data is because the session object is handed to the checkout system for processing, which can for security reasons, as described in document 7745, not access Redis. |
|