jam.sessions.redis
redis
¶
Classes:
Name | Description |
---|---|
RedisSessions |
Redis session management module. |
RedisSessions
¶
RedisSessions(
redis_uri: Union[
str, Redis
] = "redis://localhost:6379/0",
redis_sessions_key: str = "sessions",
default_ttl: Optional[int] = 3600,
is_session_crypt: bool = False,
session_aes_secret: Optional[bytes] = None,
id_factory: Callable[[], str] = lambda: str(uuid4()),
)
Bases: BaseSessionModule
Redis session management module.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
redis_uri
|
str | Redis
|
The URI for the Redis server. |
'redis://localhost:6379/0'
|
redis_sessions_key
|
str
|
The key under which sessions are stored in Redis. |
'sessions'
|
default_ttl
|
Optional[int]
|
Default time-to-live for sessions in seconds. Defaults to 3600 seconds (1 hour). |
3600
|
is_session_crypt
|
bool
|
If True, session keys will be encoded. |
False
|
session_aes_secret
|
Optional[bytes]
|
AES secret for encoding session keys. Required if |
None
|
id_factory
|
Callable[[], str]
|
A callable that generates unique IDs. Defaults to a UUID factory. |
lambda: str(uuid4())
|
Methods:
Name | Description |
---|---|
clear |
Clear all sessions for a given session key. |
create |
Create a new session with the given session key and data. |
delete |
Delete a session by its ID. |
get |
Retrieve a session by its key or ID. |
rework |
Rework a session and return its new ID. |
update |
Update an existing session with new data. |
clear
¶
clear(session_key: str) -> None
Clear all sessions for a given session key.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
session_key
|
str
|
The session key to clear. |
required |
create
¶
create(session_key: str, data: dict) -> str
Create a new session with the given session key and data.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
session_key
|
str
|
The key for the session. |
required |
data
|
dict
|
The data to be stored in the session. |
required |
Returns:
Name | Type | Description |
---|---|---|
str |
str
|
The unique ID of the created session. |
delete
¶
delete(session_id: str) -> None
Delete a session by its ID.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
session_id
|
str
|
The session ID. |
required |
get
¶
get(session_id: str) -> Optional[dict]
Retrieve a session by its key or ID.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
session_id
|
str
|
The session key or ID. |
required |
Returns:
Type | Description |
---|---|
Optional[dict]
|
dict | None: The session data if found, otherwise None. |
rework
¶
rework(session_id: str) -> str
Rework a session and return its new ID.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
session_id
|
str
|
The ID of the session to rework. |
required |
Returns:
Name | Type | Description |
---|---|---|
str |
str
|
The new session ID. |
update
¶
update(session_id: str, data: dict) -> None
Update an existing session with new data.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
session_id
|
str
|
The ID of the session to update. |
required |
data
|
dict
|
The new data to be stored in the session. |
required |
FILE PATH: jam/sessions/redis.py