module EventMachine::Protocols::Memcache

def set key, val, exptime = 0, &cb


cache.set(:missing, 'abc'){ puts "stored the value!" }
cache.set :a, 'hello'

Set the value for a given key
def set key, val, exptime = 0, &cb
  callback{
    val = val.to_s
    send_cmd :set, key, 0, exptime, val.respond_to?(:bytesize) ? val.bytesize : val.size, !block_given?
    send_data val
    send_data Cdelimiter
    @set_cbs << cb if cb
  }
end