a structure with say name, price, hash and lock (other items to suit your need). You will need a hash to search the structure otherwise it will become a linear search. A lock maintained with a compare and swap so only one updater writes to it. If you maintain it in memory you will also need a mechanism to rebuild in the event of a crash.