Set the value of key ``name`` to ``value`` that expires in ``ttl``
        seconds. ``ttl`` can be represented by an integer or a Python
        timedelta object.

        Like **Redis.SETEX**

        :param string name: the key name
        :param string value: a string or an object can be converted to string
        :param int ttl: positive int seconds or timedelta object
        :return: ``True`` on success, ``False`` if not
        :rtype: bool

        >>> import time
        >>> ssdb.set("test_ttl", 'ttl', 4)
        True
        >>> ssdb.get("test_ttl")
        'ttl'
        >>> time.sleep(4)
        >>> ssdb.get("test_ttl")
        >>>

def setx(self, name, value, ttl):
        """
        Set the value of key ``name`` to ``value`` that expires in ``ttl``
        seconds. ``ttl`` can be represented by an integer or a Python
        timedelta object.

        Like **Redis.SETEX**

        :param string name: the key name
        :param string value: a string or an object can be converted to string
        :param int ttl: positive int seconds or timedelta object
        :return: ``True`` on success, ``False`` if not
        :rtype: bool

        >>> import time
        >>> ssdb.set("test_ttl", 'ttl', 4)
        True
        >>> ssdb.get("test_ttl")
        'ttl'
        >>> time.sleep(4)
        >>> ssdb.get("test_ttl")
        >>> 
        """
        if isinstance(ttl, datetime.timedelta):
            ttl = ttl.seconds + ttl.days * 24 * 3600
        ttl = get_positive_integer('ttl', ttl)
        return self.execute_command('setx', name, value, ttl)