Row cache for different fields in the same record

SELECT email, username, age FROM users WHERE id = ? LIMIT 1
SELECT id, email, created_at, username FROM users WHERE id = ? LIMIT 1
SELECT city FROM users WHERE id = ? LIMIT 1

I have a few more similar queries in scylladb, different cases require different fields and I think that I do more performant by selecting only the necessary ones, instead of simply selecting the entire record with all fields for all cases.
But is it really more efficient to do this?

And at the scylladb level too, because it caches at the row level and doesn’t this break the cache by essentially caching the same record several times, only different fields?

Like If the row is not in the row cache, it is read from the disk.
If I have three different queries that read by id, but different fields, they will all create separate row cache entries, which inflates the cache and can reduce the hit ratio.