On Sep 20, 2007, at 12:10 , K J wrote:
How about storing the list of the user's friends in cache also?
The only problem here though, is what if the user has tens of
thousands of friends, for instance?
Bah, just declare that user to be a liar and kick them out of your
system. :)
I just did some hand-wavy math on that:
>>> import random
>>> r=random.Random()
>>> import sets
>>> s=sets.Set([r.randint(1, 10000000) for x in range(30000)])
>>> len(s)
29950
>>> len(','.join([str(i) for i in s]))
236301
>>> import zlib
>>> compressed=zlib.compress(','.join([str(i) for i in s]), 9)
>>> len(compressed)
109568
So, a user with about 30k friends with numeric IDs fairly even
distributed from 1 to 10,000,000 (my average ID was 4,979,961, min
was 236, max was 9,999,931) would take a little over 100k of cache
when comma separated and compressed.
I would expect the normal case to be much smaller.
--
Dustin Sallings