private void startMemcachedServer(InternalCache internalCache) {
    InternalDistributedSystem system = internalCache.getInternalDistributedSystem();
    int port = system.getConfig().getMemcachedPort();
    if (port != 0) {
      String protocol = system.getConfig().getMemcachedProtocol();
      assert protocol != null;
      String bindAddress = system.getConfig().getMemcachedBindAddress();
      assert bindAddress != null;
      if (bindAddress.equals(DistributionConfig.DEFAULT_MEMCACHED_BIND_ADDRESS)) {
        logger.info("Starting GemFireMemcachedServer on port {} for {} protocol",
            new Object[] {port, protocol});
      } else {
        logger.info("Starting GemFireMemcachedServer on bind address {} on port {} for {} protocol",
            new Object[] {bindAddress, port, protocol});
      }
      memcachedServer =
          new GemFireMemcachedServer(bindAddress, port,
              GemFireMemcachedServer.Protocol.valueOf(protocol.toUpperCase()));
      memcachedServer.start();
    }
  }
Service loaded at cache initialization that starts the {@link GemFireMemcachedServer}
if {@link ConfigurationProperties#MEMCACHED_PORT} is set.
geode-memcached/src/main/java/org/apache/geode/internal/memcached/GeodeMemcachedService.java