Why this logic?  Why not just blindly set the expire in multi?  That would save a round trip.