GnuPG can, with `gpg-agent`, cache access to a private key. How can I **keep that cache active for the entire user session**?

When I unlock the key for `gpg-agent`, it only stays cached for a limited time. With SSH's agent, I enter the passphrase one time and it stays cached for the whole session. I want the same behaviour from `gpg-agent`.

So, `ssh-agent` doesn't suffer from a limited cache lifetime. But `gpg-agent` limits the cache lifetime, at least by default. How can I **eliminate the limit on cache time** from `gpg-agent`?