code: def set(self, name, value, ex=None, px=None, nx=False, xx=False):
          
          pieces = [name, value]
          if ex is not None:
              pieces.append('EX')
              if isinstance(ex, datetime.timedelta):
                  ex = int(ex.total_seconds())
              pieces.append(ex)
          if px is not None:
              pieces.append('PX')
              if isinstance(px, datetime.timedelta):
                  px = int(px.total_seconds() * 1000)
              pieces.append(px)
  
          if nx:
              pieces.append('NX')
          if xx:
              pieces.append('XX')
          return self.execute_command('SET', *pieces)
docs: Set the value at key ``name`` to ``value``
  
          ``ex`` sets an expire flag on key ``name`` for ``ex`` seconds.
  
          ``px`` sets an expire flag on key ``name`` for ``px`` milliseconds.
  
          ``nx`` if set to True, set the value at key ``name`` to ``value`` only
              if it does not exist.
  
          ``xx`` if set to True, set the value at key ``name`` to ``value`` only
              if it already exists.