diff --git a/storage/hybrid/PML.txt b/storage/hybrid/PML.txt new file mode 100644 index 0000000..f8e5c76 --- /dev/null +++ b/storage/hybrid/PML.txt @@ -0,0 +1,26 @@ +This is PML format: + +[OP] +0: create new session +1: destroy session +2: change session ID (sid) +3: modify (create, update key/val) session DATA + +[SID] is session ID + +[DATA] +0: - +1: - +2: new session ID +3: (key)|(val) - create and update DATA (key) only for delete key + + +PML log file: +______________________________________________________ LOG stream... +OP | SID | DATA | | +------------------------------------------------------ | +-- // -- // -- // -- | +------------------------------------------------------ | + ... .... ..... | +OP | SID | DATA | +______________________________________________________ V \ No newline at end of file diff --git a/storage/hybrid/hybrid.go b/storage/hybrid/hybrid.go new file mode 100644 index 0000000..b52b458 --- /dev/null +++ b/storage/hybrid/hybrid.go @@ -0,0 +1,6 @@ +// Package hybrid is session storage that use RAM +// and provider modification log (PML) for very fast efecient +// session operations and filsystem saving using SPML +// save session data into filesystem lazy save. PML is similar to +// WAL in databases +package hybrid