39 lines
903 B
Python
39 lines
903 B
Python
"""
|
||
Memory Server implementation.
|
||
|
||
This module provides a simple in-memory key-value store server that can be used for testing or as a lightweight cache.
|
||
"""
|
||
|
||
from typing import Dict, Any
|
||
import json
|
||
|
||
class MemoryServer:
|
||
"""A very small in-memory key‑value store."""
|
||
|
||
def __init__(self) -> None:
|
||
self._store: Dict[str, Any] = {}
|
||
|
||
def set(self, key: str, value: Any) -> None:
|
||
self._store[key] = value
|
||
|
||
def get(self, key: str) -> Any:
|
||
return self._store[key]
|
||
|
||
def delete(self, key: str) -> None:
|
||
del self._store[key]
|
||
|
||
def dump(self) -> str:
|
||
return json.dumps(self._store)
|
||
|
||
@classmethod
|
||
def load(cls, data: str) -> "MemoryServer":
|
||
obj = cls()
|
||
obj._store = json.loads(data)
|
||
return obj
|
||
|
||
if __name__ == "__main__":
|
||
srv = MemoryServer()
|
||
srv.set("foo", 42)
|
||
print(srv.get("foo"))
|
||
print(srv.dump())
|