mirror of
https://github.com/evennia/evennia.git
synced 2026-04-07 00:45:22 +02:00
24 lines
1 KiB
Text
24 lines
1 KiB
Text
|
|
IDMAPPER
|
|
--------
|
|
|
|
https://github.com/dcramer/django-idmapper
|
|
|
|
IDmapper (actually Django-idmapper) implements a custom Django model
|
|
that is cached between database writes/read (SharedMemoryModel). It
|
|
not only lowers memory consumption but most importantly allows for
|
|
semi-persistance of properties on database model instances (something
|
|
not guaranteed for normal Django models).
|
|
|
|
Evennia makes a few modifications to the original IDmapper routines
|
|
(we try to limit our modifications in order to make it easy to update
|
|
it from upstream down the line).
|
|
|
|
- We change the caching from a WeakValueDictionary to a normal
|
|
dictionary. This is done because we use the models as semi-
|
|
persistent storage while the server was running. In some situations
|
|
the models would run out of scope and the WeakValueDictionary
|
|
then allowed them to be garbage collected. With this change they
|
|
are guaranteed to remain (which is good for persistence but
|
|
potentially bad for memory consumption).
|
|
- We add some caching/reset hooks called from the server side.
|