code: def memory_usage(self, key, samples=None):
          
          args = []
          if isinstance(samples, int):
              args.extend([Token.get_token('SAMPLES'), samples])
          return self.execute_command('MEMORY USAGE', key, *args)
docs: Return the total memory usage for key, its value and associated
          administrative overheads.
  
          For nested data structures, ``samples`` is the number of elements to
          sample. If left unspecified, the server's default is 5. Use 0 to sample
          all elements.