Most of them do to some extent, nostr is just so data intensive a real cache becomes too large very quickly
Discussion
Take care of user's resources is important, but a fast and independent local search in nostr clients is critical to the user experience.
I would start caching user's posted notes, because often he needs to find out a previous thread he jumped in (and this works also well as personal exportable backup).
Then the notes the user replied to.
Go on with all the notes from a thread the user has partecipated in.
Finally all the loaded notes, the space critical point.
These levels can be opted-in with a preference, paired with an option to expire old contents.
The local search can then be extended with a remote one for further explorations.