code: @Override
    public Long expireAt(final byte[] key, final long unixTime) {
      checkIsInMultiOrPipeline();
      client.expireAt(key, unixTime);
      return client.getIntegerReply();
    }
docs: EXPIREAT works exactly like {@link #expire(byte[], int) EXPIRE} but instead to get the number of
  seconds representing the Time To Live of the key as a second argument (that is a relative way
  of specifying the TTL), it takes an absolute one in the form of a UNIX timestamp (Number of
  seconds elapsed since 1 Gen 1970).
  <p>
  EXPIREAT was introduced in order to implement the Append Only File persistence mode so that
  EXPIRE commands are automatically translated into EXPIREAT commands for the append only file.
  Of course EXPIREAT can also used by programmers that need a way to simply specify that a given
  key should expire at a given time in the future.
  <p>
  Since Redis 2.1.3 you can update the value of the timeout of a key already having an expire
  set. It is also possible to undo the expire at all turning the key into a normal key using the
  {@link #persist(byte[]) PERSIST} command.
  <p>
  Time complexity: O(1)
  @see <a href="http://redis.io/commands/expire">Expire Command</a>
  @param key
  @param unixTime
  @return Integer reply, specifically: 1: the timeout was set. 0: the timeout was not set since
  the key already has an associated timeout (this may happen only in Redis versions &lt;
  2.1.3, Redis &gt;= 2.1.3 will happily update the timeout), or the key does not exist.