import memcache try: from cStringIO import StringIO except ImportError: from StringIO import StringIO try: import cPickle as pickle except ImportError: import pickle def data_size(data): """Returns the size in bytes of the data passed in.""" fp = StringIO() pickler = pickle.Pickler(fp, protocol=0) pickler.dump(data) val = fp.getvalue() return len(val) def data_too_large(data): """Returns True if the data passed in is too large for memcached.""" return data_size(data) >= memcache.SERVER_MAX_VALUE_LENGTH