A method, apparatus, and computer-readable medium for storing variables in
a non-volatile computer memory are provided. The computer-readable medium
has a data structure stored thereon that includes a first data field for
storing a variable record including a header and variable information.
The data structure also includes a second data field for storing a GUID
for the variable. The variable record may comprise a full record or a
data only record. A full record contains all of the identifying
information for the record and the variable value. A data only record
includes only an updated value for the variable. When a request is
received to retrieve the variable value, the data structure is searched
to locate the most recently created record for the variable. The value
stored in this record is then returned in response to the request.
Periodically, a garbage collection process may be performed to reduce the
records stored for each variable to a single full record.