For the 57,000 items with which you will request (and want to receive them immediately), I would not recommend using simple caching. For many elements, I would recommend using a distributed memory cache (even if it is only one machine), for example Memcache, Velocity, etc., Or move on to the original idea of using a database in memory.
, - ORM, NHibernate, . NHibernate , Memcache, Velocity . , , , , , .