Save self.max_msg_id, self.cache_messages, and self.memory_snapshot to self.path/cache_messages.json
(self)
| 109 | await self.add_single(messages, msg_id=id) |
| 110 | |
| 111 | def save_cache(self): |
| 112 | """ |
| 113 | Save self.max_msg_id, self.cache_messages, and self.memory_snapshot to self.path/cache_messages.json |
| 114 | """ |
| 115 | cache_file = os.path.join(self.path, 'cache_messages.json') |
| 116 | |
| 117 | # Ensure the directory exists |
| 118 | os.makedirs(self.path, exist_ok=True) |
| 119 | |
| 120 | data = { |
| 121 | 'max_msg_id': self.max_msg_id, |
| 122 | 'cache_messages': { |
| 123 | str(k): ([msg.to_dict() for msg in msg_list], _hash) |
| 124 | for k, (msg_list, _hash) in self.cache_messages.items() |
| 125 | }, |
| 126 | 'memory_snapshot': [mm.to_dict() for mm in self.memory_snapshot] |
| 127 | } |
| 128 | |
| 129 | with open(cache_file, 'w', encoding='utf-8') as f: |
| 130 | json5.dump(data, f, indent=2, ensure_ascii=False) |
| 131 | |
| 132 | def load_cache(self): |
| 133 | """ |