java.lang.Object
io.jooby.redis.RedisSessionStore
- All Implemented Interfaces:
io.jooby.SessionStore
Redis session store.
- Since:
- 2.8.5
- Author:
- edgar
-
Nested Class Summary
Nested classes/interfaces inherited from interface io.jooby.SessionStore
io.jooby.SessionStore.InMemory -
Field Summary
Fields inherited from interface io.jooby.SessionStore
DEFAULT_TIMEOUT -
Constructor Summary
ConstructorsConstructorDescriptionRedisSessionStore(io.lettuce.core.RedisClient redis) Creates a new session store.RedisSessionStore(org.apache.commons.pool2.impl.GenericObjectPool<io.lettuce.core.api.StatefulRedisConnection<String, String>> pool) Creates a new session store. -
Method Summary
Modifier and TypeMethodDescriptionvoiddeleteSession(io.jooby.Context ctx, io.jooby.Session session) io.jooby.SessionfindSession(io.jooby.Context ctx) Redis namespace (key prefix).Session timeout.io.jooby.SessionTokengetToken()Session token.io.jooby.SessionnewSession(io.jooby.Context ctx) Remove session timeout.voidrenewSessionId(io.jooby.Context ctx, io.jooby.Session session) voidsaveSession(io.jooby.Context ctx, io.jooby.Session session) setNamespace(String namespace) Set redis namespace or key prefix.setTimeout(Duration timeout) Set/change session timeout.setToken(io.jooby.SessionToken token) Set custom session token.voidtouchSession(io.jooby.Context ctx, io.jooby.Session session)
-
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
Redis namespace (key prefix).- Returns:
- Redis namespace (key prefix). Default is:
sessions.
-
setNamespace
Set redis namespace or key prefix.- Parameters:
namespace- Redis namespace or key prefix.- Returns:
- This store.
-
getTimeout
Session timeout.- Returns:
- Session timeout. Default is:
30 minutes.
-
setTimeout
Set/change session timeout.- Parameters:
timeout- Timeout must be positive value. Otherwise, timeout is disabled.- Returns:
- This store.
-
noTimeout
Remove session timeout.- Returns:
- This store.
-
getToken
@NonNull public io.jooby.SessionToken getToken()Session token.- Returns:
- Session token. Uses a cookie by default:
SessionToken.SID.
-
setToken
Set custom session token.- Parameters:
token- Session token.- Returns:
- This store.
-
newSession
@NonNull public io.jooby.Session newSession(@NonNull io.jooby.Context ctx) - Specified by:
newSessionin interfaceio.jooby.SessionStore
-
findSession
@Nullable public io.jooby.Session findSession(@NonNull io.jooby.Context ctx) - Specified by:
findSessionin interfaceio.jooby.SessionStore
-
deleteSession
public void deleteSession(@NonNull io.jooby.Context ctx, @NonNull io.jooby.Session session) - Specified by:
deleteSessionin interfaceio.jooby.SessionStore
-
touchSession
public void touchSession(@NonNull io.jooby.Context ctx, @NonNull io.jooby.Session session) - Specified by:
touchSessionin interfaceio.jooby.SessionStore
-
saveSession
public void saveSession(@NonNull io.jooby.Context ctx, @NonNull io.jooby.Session session) - Specified by:
saveSessionin interfaceio.jooby.SessionStore
-
renewSessionId
public void renewSessionId(@NonNull io.jooby.Context ctx, @NonNull io.jooby.Session session) - Specified by:
renewSessionIdin interfaceio.jooby.SessionStore
-