I am building a simple feature, where multiple hundreds of users will be clicking a button for adding a product as a favorite item. I am currently thinking of using Redis + Sidekiq, but had a question about whether Redis is actually essential at all. For simplification I am posting a incomplete diagram, so as to reduce the scope of this question only to Sidekiq and Redis.
Redis + Sidekiq
Use clicks fav button -> API req to microservice -> Redis -> Sidekiq -> DB
I wanted to know why does Redis needs to be used, will this help at all for hundreds of thousands of requests? Keep in mind Redis is being used for queueing and not permanent storage and Redis needs to trigger Sidekiq to run the job and enter the data in the database (i.e. Sidekiq what be running batch updates or checking if Redis has some data, Sidekiq needs to be triggered).
Or does the below flow make more sense I.E. exclude Redis completely ? let the micro service trigger Sidekiq every time a request comes in. I'm just wondering when we say "queueing" how exactly is it helping in my fav button scenario. I am a beginner, but I'm not much of a backend dev.
I.E. Use clicks fav button -> API req to microservice -> Redis -> DB