code: def __setitem__(self, key, value):
      super().__setitem__(key, value)
      super().move_to_end(key)
  
      if len(self) > self.cache_len:
          oldkey = next(iter(self))
          super().__delitem__(oldkey)
  
imports: import warnings
  import functools
  from collections import namedtuple, Counter, OrderedDict
  import spacy
  import numpy
label_desc: Use image node_id 2 for calling the CacheDict obj's underlying member method code with example usage: obj.__setitem__(key, value) without return types