.NET ve Python arasında RAM üzerinden doğrudan veri paylaşımı. Disk yok, network yok, database yok. Sadece RAM.
Redis gibi düşün ama ortada bir sunucu yok. İki farklı dilde yazılmış iki process, aynı RAM bölgesini okuyup yazıyor. Sıfır overhead.
Windows'un Memory-Mapped File (MMF) mekanizmasını kullanarak:
- .NET tarafı RAM'e JSON yazıyor
- Python tarafı aynı RAM'den JSON okuyor
Arada broker yok, serialization katmanı yok, TCP/IP yok. İki process aynı bellek adresine bakıyor.
┌─────────────────┐ RAM (4096 byte) ┌─────────────────┐
│ │ ┌─────────────────────────┐ │ │
│ .NET 10 Writer │───▶│ MySharedMemory │◀───│ Python Reader │
│ (Program.cs) │ │ {"time":"...","random": │ │ (main.py) │
│ │ │ 42,"message":"Hello"} │ │ │
└─────────────────┘ └─────────────────────────┘ └─────────────────┘
YAZAR PAYLAŞIMLI BELLEK OKUR
.NET her saniye şu JSON'u RAM'e yazıyor:
{
"time": "2026-02-05T12:00:00.0000000Z",
"random": 42069,
"message": "Hello from .NET 10"
}Python her saniye aynı alanı okuyup parse ediyor:
[TIME] -> 2026-02-05T12:00:00.0000000Z | RANDOM -> 42069 | MESSAGE -> Hello from .NET 10
| Redis | shared-memory-bridge | |
|---|---|---|
| Aracı sunucu | ✅ Redis server gerekli | ❌ Yok |
| Network | ✅ TCP bağlantısı | ❌ Yok |
| Latency | ~0.1ms (loopback) | ~0.001ms (direkt RAM) |
| Kurulum | Redis kurulumu gerekli | Hiçbir şey gerekmiyor |
| Cross-machine | ✅ Evet | ❌ Sadece aynı makine |
| Persistence | ✅ Opsiyonel | ❌ Yok, RAM'de kalır |
Kısacası: Aynı makinede iki process arası ultra-hızlı veri paylaşımı istiyorsan, Redis overkill. Bu yeterli.
- Windows
- .NET 10 SDK
- Python 3.14
Terminal 1 — Writer'ı başlat:
cd DotnetMemoryWriter
dotnet runTerminal 2 — Reader'ı başlat:
cd PythonMemoryReader
python main.pyshared-memory-bridge/
├── DotnetMemoryWriter/
│ ├── DotnetMemoryWriter.csproj
│ ├── Program.cs
│ └── README.md
├── PythonMemoryReader/
│ ├── main.py
│ └── README.md
└── README.md