anchor.diff:  
   -record(msg, {cmd = "",
                 key = "",
  +              keys = [],
                 flag = 0,
                 expire = 0,
                 cas = 0,
  
positive.code: send_recv(Sock, IoList, RecvCallback) ->
      ok = send(Sock, IoList),
      RV = recv_line(Sock),
      if is_function(RecvCallback) -> RecvCallback(RV);
         true -> ok
      end,
      RV.
  
negative.code: 
      ok = gen_tcp:close(Sock).
  
  get_test() ->
      {ok, Sock} = gen_tcp:connect("localhost", 11211,
                                   [binary, {packet, 0}, {active, false}]),
      set_test_sock(Sock),
  
      (fun () ->
          {ok, RB} = cmd(get, Sock, nil,
                         #msg{keys= [<<"aaa-st">>, <<"notkey1">>, <<"notkey2">>]}),
          ?assertMatch(RB, <<"END\r\n">>),
  
          {ok, RB1} = cmd(get, Sock, nil,
                         #msg{keys= [<<"notkey0">>, <<"notkey1">>, <<"notkey2">>]}),
          ?assertMatch(RB1, <<"END\r\n">>)
      end)(),
  
      ok = gen_tcp:close(Sock).
  
  starts_with(S, Prefix) ->
      Prefix =:= string:substr(S, 1, string:len(Prefix)).
  
  