Inhaltsverzeichnis

std.db

Datenbank-Units für die direkte Kommunikation mit relationalen Datenbanken und Key-Value-Stores. Lyx implementiert alle Datenbankprotokolle nativ über TCP — ohne externe Treiber, MiddlewareSchichten oder ORMs. Die Verbindung erfolgt direkt auf Protokollebene, was maximale Kontrolle und minimalen Overhead ermöglicht.

Unit Beschreibung
std.db.mysql MySQL-Client (Protokoll 41 über TCP)
std.db.redis Redis-Client (RESP-Protokoll über TCP)

Designprinzipien


Verfügbare Units

std.db.mysql

MySQL-Client-Implementierung über das MySQL-Protokoll 41 (binäres Protokoll, TCP-Port 3306). Unterstützt Verbindung mit Authentifizierung, einfache Abfragen, Ergebnis-Sets, Prepared Statements und Transaktionen.

import std.db.mysql;

var conn: MySQLConn := MySQLConnect("127.0.0.1", 3306, "user", "pass", "mydb");

var res: MySQLResult := MySQLQuery(conn, "SELECT id, name FROM users WHERE active = 1");
while (MySQLFetchRow(res) != 0) {
    PrintStr(MySQLGetRowStr(res, 0, 1));
}
MySQLFreeResult(res);
MySQLClose(conn);

Vollständige Dokumentation: std.db.mysql

std.db.redis

Redis-Client über das RESP-Protokoll (Redis Serialization Protocol, TCP-Port 6379). Unterstützt alle Redis-Datenstrukturen: Strings, Lists, Hashes, Sets, Sorted Sets, Streams sowie Pub/Sub, Pipelining und TTL-Verwaltung.

import std.db.redis;

var conn: RedisConn := RedisConnect("127.0.0.1", 6379);

RedisSet(conn, "session:42", "user_data_json");
RedisExpire(conn, "session:42", 3600);

var val: pchar := RedisGet(conn, "session:42");
PrintStr(val);

RedisClose(conn);

Vollständige Dokumentation: std.db.redis


Verwandte Units