Will memcache work in this configuration?
Short answer is yes, that's a fairly common configuration.
You might also want to consider using Nginx instead of Apache.

For user session support, it's possible to use Memcache.
However, memcache data is more transient and you may prefer the more persistent storage, for longer and more durable user sessions, that the database engine provides. 

For cache_form you should use a more persistent cache, such as the database, to avoid form cache validation errors.

e.g: $conf['cache_class_cache_form'] = 'DrupalDatabaseCache';

It's recommended to use Memcache for the lock API layer as it's quick read/write and short cache lifetime is suitable.

e.g: $conf['lock_inc'] = 'sites/all/modules/contrib/memcache/memcache-lock.inc';

For Memcache integration with Drupal, you can use https://www.drupal.org/project/memcache or https://www.drupal.org/project/memcache_storage