Your question cannot be answered by us. The memory consumption of a key depends on the size of the key's name (string) and the size of the key's value. Names and values with fewer bytes consume less memory, so more of them can be fit into 10GB. Names and values with more bytes consume more memory, so fewer of them can be fit into 10GB.
There is a famous description of very efficient key/value use from several years ago by Instagram, which shows one way of making keys/values very efficient.
The blog entry is here. Note that approach is useful only for the specific type of data Instagram was using, not all types of data. I mention it only as an example of what's possible with some kinds of data.
The number of keys that you can fit into 10GB of memory depends on the key names you choose, the sizes of the values, and any optimizations you can apply (like Instagram did). Since we don't know your keys and values, we can't give any useful estimate of how much of your data will fit into 10GB