Polling structure with one request

Hi developers

I have some issue on doing my custom componet.
I am doing on my component that an api to get all devices or entities in my gateway.
the issue is if I use without async fuction that entities will setup at the status of the first time.
also I can update use api everytime, then this method will crash my gateway.
Becasue of too many request times for each entites.
For example if I have 30 entities (different type sensor,switch…) in my gateway,then each entities will request the same request of api when update fuction run.
Definitely it will work but to much request.
then I try the async function to setup and setup platform ,it will not update the states in async_add_entities function with self states.
I would like to just update the dict in hass.data interval time.
too many component that me confuss,which will be the greatest one to wirte this structrue.
anyone have idea or is there any already component will like this structure.
many thanks