def substr(self, name, start, end=-<NUM_LIT:1>):
with self.pipe as pipe:<EOL><INDENT>f = Future()<EOL>res = pipe.substr(self.redis_key(name), start=start, end=end)<EOL>def cb():<EOL><INDENT>f.set(self.valueparse.decode(res.result))<EOL><DEDENT>pipe.on_execute(cb)<EOL>return f<EOL><DEDENT>
Return a substring of the string at key ``name``. ``start`` and ``end``
are 0-based integers specifying the portion of the string to return.

:param name: str     the name of the redis key
:param start: int
:param end: int
:return: Future()