Hi, I hope that you're all doing great!
This Week I've worked on introducing the caching layer, previously we were depending on the MongoDB collection to fetch the requested icons, and then perform the requested changes ( icon customizations ), we wanted to make this process faster, thus we introduced the Redis layer, where we cache all the icons in the memory. The redis layer got updated whenever any update occurred to the db, this way our caching layer will always be up to date, and I've decided to cache all the icons because we need to decrease the miss probability ( checking the redis layer and not finding the icon ), and since we're just caching the raw non-customized icons, we don't need to wait until a miss happen to cache the icon.
This Week I've worked on introducing the caching layer, previously we were depending on the MongoDB collection to fetch the requested icons, and then perform the requested changes ( icon customizations ), we wanted to make this process faster, thus we introduced the Redis layer, where we cache all the icons in the memory. The redis layer got updated whenever any update occurred to the db, this way our caching layer will always be up to date, and I've decided to cache all the icons because we need to decrease the miss probability ( checking the redis layer and not finding the icon ), and since we're just caching the raw non-customized icons, we don't need to wait until a miss happen to cache the icon.