Skip to main content

Redis Sesion Implementation for Naja Atra

This is the redis session implementation for the project naja atra

Usage

import naja_atra
import naja_atra.server as server
import os
from naja_atra_redis_session.redis_session import RedisSessionFactory

def main(*args):
    # host, port, db, username, password are all optional.
    naja_atra.set_session_factory(RedisSessionFactory(host="10.0.2.16", port=6379, db=0, username="", password=""))
    server.scan("tests/ctrls", r'.*controllers.*')
    
    root = os.path.dirname(os.path.abspath(__file__))
    server.start(
        port=9090,
        resources={"/public/*": f"{root}/tests/static"})

or you can re-use your redis client which might be used in other codes.

import naja_atra
import naja_atra.server as server
import os
import redis
from naja_atra_redis_session.redis_session import RedisSessionFactory

def main(*args):
    # This redis client can be used in other business codes.
    redis_client = redis.Redis(host="10.0.2.16", port=6379, db=0, username="", password="")
    naja_atra.set_session_factory(RedisSessionFactory(redis_client=redis_client))
    
    root = os.path.dirname(os.path.abspath(__file__))
    server.start(
        port=9090,
        resources={"/public/*": f"{root}/tests/static"})

Write Your Own ObjectSerializer

Module pickle is used to do the serialization and deserialization, if the defalut serialization logic could not satisfy you, you can write your own

naja_atra_redis_session.redis_session import ObjectSerializer

class MyObjectSerializer(ObjectSerializer):

    def object_to_bytes(self, obj: Any) -> bytes:
        bys = ...
        return bys

    def bytes_to_objects(self, value: bytes) -> Any:
        obj = ...
        return obj

# Set it when initializing a SessionFactory.

naja_atra.set_session_factory(RedisSessionFactory(host="10.0.2.16", port=6379, db=0, username="", password="", object_serializer=MyObjectSerializer()))

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

naja-atra-redis-session-1.0.1.tar.gz (4.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

naja_atra_redis_session-1.0.1-py3-none-any.whl (6.5 kB view details)

Uploaded Python 3

File details

Details for the file naja-atra-redis-session-1.0.1.tar.gz.

File metadata

  • Download URL: naja-atra-redis-session-1.0.1.tar.gz
  • Upload date:
  • Size: 4.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.6

File hashes

Hashes for naja-atra-redis-session-1.0.1.tar.gz
Algorithm Hash digest
SHA256 a523b6bee3af57ed9a87ac16c2b83090d132929d1de5314dff314feb32b25514
MD5 5a36016b6ab159a7d7bfca995a124660
BLAKE2b-256 1712a9203eda421bb11963a65fb22b1e973b77baf22c816fbadbe830469e25fc

See more details on using hashes here.

File details

Details for the file naja_atra_redis_session-1.0.1-py3-none-any.whl.

File metadata

File hashes

Hashes for naja_atra_redis_session-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 311de0ea4d1af952a47e9b85ad3bcd413f3245c787bee6ad939b728bb276268a
MD5 702a538bd517b4af588c151b44739d7d
BLAKE2b-256 3e4a78f55251200f539eb43ed6450b6dfae866b84075b7fc09c56f9dec5155ae

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

1.0.1 This release

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page