Thankfully, because your database supports key-value storage, you can quickly implement a cache to sit in between the receipt of the message and the processing. Assuming the average declared above, a cache hit will result in 1 disk read and a cache miss will result in 12 disk reads and 1 write.
Simply declare an array in a named common block and away you go.
That isn’t even taking in to considering CPU usage reduction, better disk cache performance, etc.
How you handle cache invalidation is dependent on your situation.
The benefit here is faster disk access as well as moving the activity off on to another device/bus.
Instead of adding new hardware, perhaps you’d prefer to spare 64MB of RAM to the cause.