add memory_server.py
This commit is contained in:
@@ -0,0 +1,38 @@
|
||||
"""
|
||||
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())
|
||||
Reference in New Issue
Block a user