Same as Viaweb. Hash tables in memory. Updates to disk, but no reads from disk except at startup.
I'm so curious about this subject. Is there something worth reading to learn more? Ultimately, I want to understand why you came to the decisions you did. Short term questions: Are disk updates performed immediately? Is there a separate thread that updates the disk? Are data stored in a flat file?
Does the Arc/Lisp process only handle one request at a time? If it handles multiple requests at once how do you keep the writes atomic?