Class RedisSessionStore

java.lang.Object
io.jooby.redis.RedisSessionStore
All Implemented Interfaces:
SessionStore

public class RedisSessionStore extends Object implements SessionStore
Redis session store.
Since:
2.8.5
Author:
edgar
  • Constructor Details

    • RedisSessionStore

      public RedisSessionStore(@NonNull org.apache.commons.pool2.impl.GenericObjectPool<io.lettuce.core.api.StatefulRedisConnection<String,String>> pool)
      Creates a new session store.
      Parameters:
      pool - Redis connection pool.
    • RedisSessionStore

      public RedisSessionStore(@NonNull io.lettuce.core.RedisClient redis)
      Creates a new session store.
      Parameters:
      redis - Redis connection.
  • Method Details

    • getNamespace

      @NonNull public String getNamespace()
      Redis namespace (key prefix).
      Returns:
      Redis namespace (key prefix). Default is: sessions.
    • setNamespace

      @NonNull public RedisSessionStore setNamespace(@NonNull String namespace)
      Set redis namespace or key prefix.
      Parameters:
      namespace - Redis namespace or key prefix.
      Returns:
      This store.
    • getTimeout

      @NonNull public Duration getTimeout()
      Session timeout.
      Returns:
      Session timeout. Default is: 30 minutes.
    • setTimeout

      @NonNull public RedisSessionStore setTimeout(@NonNull Duration timeout)
      Set/change session timeout.
      Parameters:
      timeout - Timeout must be positive value. Otherwise, timeout is disabled.
      Returns:
      This store.
    • noTimeout

      @NonNull public RedisSessionStore noTimeout()
      Remove session timeout.
      Returns:
      This store.
    • getToken

      @NonNull public SessionToken getToken()
      Session token.
      Returns:
      Session token. Uses a cookie by default: SessionToken.SID.
    • setToken

      @NonNull public RedisSessionStore setToken(@NonNull SessionToken token)
      Set custom session token.
      Parameters:
      token - Session token.
      Returns:
      This store.
    • newSession

      @NonNull public Session newSession(@NonNull Context ctx)
      Specified by:
      newSession in interface SessionStore
    • findSession

      @Nullable public Session findSession(@NonNull Context ctx)
      Specified by:
      findSession in interface SessionStore
    • deleteSession

      public void deleteSession(@NonNull Context ctx, @NonNull Session session)
      Specified by:
      deleteSession in interface SessionStore
    • touchSession

      public void touchSession(@NonNull Context ctx, @NonNull Session session)
      Specified by:
      touchSession in interface SessionStore
    • saveSession

      public void saveSession(@NonNull Context ctx, @NonNull Session session)
      Specified by:
      saveSession in interface SessionStore
    • renewSessionId

      public void renewSessionId(@NonNull Context ctx, @NonNull Session session)
      Specified by:
      renewSessionId in interface SessionStore