  
  class BaseMemcachedCache(BaseCache):
      def __init__(self, server, params, library, value_not_found_exception):
          super(BaseMemcachedCache, self).__init__(params)
          if isinstance(server, six.string_types):
              self._servers = re.split('[;,]', server)
          else:
              self._servers = server
  
          # The exception type to catch from the underlying library for a key
 
</s> remove         if isinstance(perm, six.string_types):
 </s> add         if isinstance(perm, str): </s> remove                             if hasattr(field_value, '__iter__') and not isinstance(field_value, six.text_type):
 </s> add                             if hasattr(field_value, '__iter__') and not isinstance(field_value, str): </s> remove         if gtype == 'RASTER' and (value is None or isinstance(value, six.string_types + (dict, self._klass))):
 </s> add         if gtype == 'RASTER' and (value is None or isinstance(value, (str, dict, self._klass))): </s> remove             is_candidate = isinstance(obj, (bytes, six.string_types)) or hasattr(obj, '__geo_interface__')
 </s> add             is_candidate = isinstance(obj, (bytes, str)) or hasattr(obj, '__geo_interface__') </s> remove         if isinstance(ds_input, six.string_types):
 </s> add         if isinstance(ds_input, str):
        if isinstance(server, str):
  
  class BaseMemcachedCache(BaseCache):
      def __init__(self, server, params, library, value_not_found_exception):
          super(BaseMemcachedCache, self).__init__(params)
        if isinstance(server, str):
              self._servers = re.split('[;,]', server)
          else:
              self._servers = server
  
          # The exception type to catch from the underlying library for a key
keep keep keep keep replace keep keep keep keep keep
 Refs #23919 -- Removed six.<various>_types usage

Thanks Tim Graham and Simon Charette for the reviews. 
django/core/cache/backends/memcached.py