When dealing with large data sets I sometimes split it into parts that will fit with a master object that stores how many parts it should have. Of course it could still fall out of cache but it's no worse than if it was one large object that fell out of cache and possible better if you kept a primary copy somewhere so you only have to grab the missing chunks from it.
big_object: 5 big_object_0: data big_object_1: data big_object_2: data big_object_3: data big_object_4: data
