I also love thinking through how to store data, e.g. in Redis, and aligning it with your access patterns. The biggest challenge I’ve faced is that access patterns tend to change over time and Redis isn’t flexible (e.g. you use an HSET to pull user data but now you want to query by a different key). So you probably will end up storing data in SQL for persistence and Redis for caching, anyway.