[BEST-PRATICES] For each access in my database, should I generate a new user recovering a new access?

I use the “secrets database” in vault.
And I execute the command “vault read database/creds/role”, the vault created a new user with ttl specified.

However, I can enter a scenario that with many users if this operation is performed for each access.

And if I always perform this operation when I start my application, I can reach the limit of ttl and the user can be removed.

What are the best practices indicated for managing access to the database?
Should the application have a cache or a ttl property to know when it will renew this access?