def sdiff(self, keys, *args):
keys = [self.redis_key(k) for k in self._parse_values(keys, args)]<EOL>with self.pipe as pipe:<EOL><INDENT>res = pipe.sdiff(*keys)<EOL>f = Future()<EOL>def cb():<EOL><INDENT>f.set({self.valueparse.decode(v) for v in res.result})<EOL><DEDENT>pipe.on_execute(cb)<EOL>return f<EOL><DEDENT>
Return the difference of sets specified by ``keys``

:param keys: list
:param args: tuple
:return: Future()