我想将我的对象缓存在内存中以提高性能,但如果访问时间太长则需要回收它们。
每隔30分钟调用一个函数,检查每个缓存对象,就像windows操作系统中的文件属性一样,每个对象应该有两个属性:最后修改的时间戳(或标志)和最后访问的时间戳,如果上次修改时间大于零,创建一个sql用于在datebase中更新它们,并将修改时间重置为0,如果上次访问时间大于30分钟,则将其从缓存系统中删除。
实现它们的最佳方法是什么?在python中已经有类似的系统,所以我不必重新发明轮子。
PS。没有Memcached。该对象应该直接访问,没有序列化和反序列化。
答案 0 :(得分:1)
要么创建一个具有这些属性作为属性的类,要么只使用字典。这是一个品味问题,两者都有效。有了一个课程,你就可以制作像“is_old”或“is_modified”等方法。
保持所有数据的结构也是如此。它基本上是一个巨大的字典,但你可能想用类似“purge_old”等方法将它包装在一个类中。