The OS writers have written good algorithms for paging over the years; algo that have stood the test of time. The paging algorithm tries to optimize the pages it swaps out.
'it would be very beneficial to to force the data to stay in memory' - sure about that? Would you rather have your Apache code being swapped out, rather than a page of data that was not used for an hour? If Apache swaps out, who would use that data?
It is difficult to design something that beats native OS paging algo. Can be done, but usually requires more than just locking memory for 1 program.
I would recommend setting memcache size appropriately so that the machine does not use paging.
If you run memcache solely on the system, which many people do, there is not much need to fiddle with -k switch. Or that machine can be set to swap = 0.