Been there.. done that. Variants are pretty low-level to deal with and do introduce "issues". The main problem with a cache on Redis is keeping it from getting stale. Every single time a merchant so much as touches a variant for anything, you will receive a webhook in your App and you'll have to decide what to do with your cache... and therein lies some serious pain....