and memcached means "and an event named memcached is emitted". I think you meant
start on runlevel  and started memcached
However, this will also fail you because the 'runlevel 2' event will only be emitted once, at boot time (or whenever you return from single user mode). What you probably actually mean is just
start on started memcached
runlevel  is implied by the fact that memcached will only be started on
runlevel . However, this is also a fairly limited approach. What if you move memcached off these boxes so they can run on a dedicated memcached cluster? Now you can't control boot order. The better approach is for your application to be fault tolerant and handle the lack of memcached gracefully.
Whether this means alerting your load balancer to not send traffic to this node, or just sending back a "please wait" ajax spinner to your users, this will lead to less pages for your ops guys, and more resilience for your application in general.