That’s where the problem lies. The SESSION_ID
changes each reload, which changes the name, which adds new keys when the cache is used again.
Start app: cache size = 256 KB
Preload Cache: cache size = 671 KB
In [12]: sorted(list(cache))
Out[12]:
[('ploteba67a99-b97f-4fb9-af88-5e7a671e06bd', 0.0, None),
('ploteba67a99-b97f-4fb9-af88-5e7a671e06bd', 0.1, None),
('ploteba67a99-b97f-4fb9-af88-5e7a671e06bd', 0.2, None),
('ploteba67a99-b97f-4fb9-af88-5e7a671e06bd', 0.3, None),
('ploteba67a99-b97f-4fb9-af88-5e7a671e06bd', 0.4, None),
('ploteba67a99-b97f-4fb9-af88-5e7a671e06bd', 0.5, None),
('ploteba67a99-b97f-4fb9-af88-5e7a671e06bd', 0.6, None),
('ploteba67a99-b97f-4fb9-af88-5e7a671e06bd', 0.7, None),
('ploteba67a99-b97f-4fb9-af88-5e7a671e06bd', 0.8, None),
('ploteba67a99-b97f-4fb9-af88-5e7a671e06bd', 0.9, None),
('ploteba67a99-b97f-4fb9-af88-5e7a671e06bd', 1.0, None)]
Refresh browser, then Preload Cache again: cache size = 1.1 MB
In [13]: sorted(list(cache))
Out[13]:
[('plot2fdede6d-5f6b-4235-89a7-98109dfde417', 0.0, None),
('plot2fdede6d-5f6b-4235-89a7-98109dfde417', 0.1, None),
('plot2fdede6d-5f6b-4235-89a7-98109dfde417', 0.2, None),
('plot2fdede6d-5f6b-4235-89a7-98109dfde417', 0.3, None),
('plot2fdede6d-5f6b-4235-89a7-98109dfde417', 0.4, None),
('plot2fdede6d-5f6b-4235-89a7-98109dfde417', 0.5, None),
('plot2fdede6d-5f6b-4235-89a7-98109dfde417', 0.6, None),
('plot2fdede6d-5f6b-4235-89a7-98109dfde417', 0.7, None),
('plot2fdede6d-5f6b-4235-89a7-98109dfde417', 0.8, None),
('plot2fdede6d-5f6b-4235-89a7-98109dfde417', 0.9, None),
('plot2fdede6d-5f6b-4235-89a7-98109dfde417', 1.0, None),
('ploteba67a99-b97f-4fb9-af88-5e7a671e06bd', 0.0, None),
('ploteba67a99-b97f-4fb9-af88-5e7a671e06bd', 0.1, None),
('ploteba67a99-b97f-4fb9-af88-5e7a671e06bd', 0.2, None),
('ploteba67a99-b97f-4fb9-af88-5e7a671e06bd', 0.3, None),
('ploteba67a99-b97f-4fb9-af88-5e7a671e06bd', 0.4, None),
('ploteba67a99-b97f-4fb9-af88-5e7a671e06bd', 0.5, None),
('ploteba67a99-b97f-4fb9-af88-5e7a671e06bd', 0.6, None),
('ploteba67a99-b97f-4fb9-af88-5e7a671e06bd', 0.7, None),
('ploteba67a99-b97f-4fb9-af88-5e7a671e06bd', 0.8, None),
('ploteba67a99-b97f-4fb9-af88-5e7a671e06bd', 0.9, None),
('ploteba67a99-b97f-4fb9-af88-5e7a671e06bd', 1.0, None)]
I know your example is just a proof of concept, but I’m interested in this issue because of the following:
- cache management - how to handle multiple users and single user with multiple instances?
- app restart and browser refresh/restart management - what happens to the state of the app and data?