module Redis::Commands::Strings

def set(key, value, ex: nil, px: nil, exat: nil, pxat: nil, nx: nil, xx: nil, keepttl: nil, get: nil)

Returns:
  • (String, Boolean) - `"OK"` or true, false if `:nx => true` or `:xx => true`

Parameters:
  • options (Hash) --
  • value (String) --
  • key (String) --
def set(key, value, ex: nil, px: nil, exat: nil, pxat: nil, nx: nil, xx: nil, keepttl: nil, get: nil)
  args = [:set, key, value.to_s]
  args << "EX" << Integer(ex) if ex
  args << "PX" << Integer(px) if px
  args << "EXAT" << Integer(exat) if exat
  args << "PXAT" << Integer(pxat) if pxat
  args << "NX" if nx
  args << "XX" if xx
  args << "KEEPTTL" if keepttl
  args << "GET" if get
  if nx || xx
    send_command(args, &BoolifySet)
  else
    send_command(args)
  end
end