Inhaltsverzeichnis

std.db.redis

Vollständiger Redis-Client mit Unterstützung aller wichtigen Datenstrukturen: Strings, Hashes, Listen, Sets und Sorted Sets. Redis ist ein In-Memory-Datenspeicher, der als Cache, Session-Store, Message-Queue, Echtzeit-Leaderboard oder Pub/Sub-Broker eingesetzt wird. Die Unit kommuniziert direkt über das RESP-Protokoll (REdis Serialization Protocol) per TCP.

Unterstützt werden TTL-Verwaltung (EXPIRE, TTL), atomare Operationen (INCR/DECR), Hash-Felder, Listen-Operationen (Queues/Stacks), mengentheoretische Operationen (Schnittmenge, Vereinigung) und Sorted Sets für rankingbasierte Szenarien.

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");
RedisClose(conn);


Imports


Typen

RedisConn (struct)

Feld Typ
fd int64
host pchar
port int64
timeout_ms int64
buf_len int64

Konstanten

Name Typ Wert Sichtbarkeit
REDIS_REPLY_NIL int64 0 pub
REDIS_REPLY_ERROR int64 1 pub
REDIS_REPLY_STATUS int64 2 pub
REDIS_REPLY_INTEGER int64 3 pub
REDIS_REPLY_BULK int64 4 pub
REDIS_REPLY_ARRAY int64 5 pub

RedisReply (struct)

Feld Typ
kind int64
int_val int64
str_val pchar
str_len int64

Funktionen

Signatur Sichtbarkeit Beschreibung
redisParseInt(s: int64): int64 pub Parst Integer aus RESP-Antwort-String
appendDec(buf: int64, pos: int64, val: int64): int64 pub Schreibt Dezimalzahl in Anfragepuffer
appendCRLF(buf: int64, pos: int64): int64 priv Fügt CRLF-Sequenz in Puffer ein
appendBulk(buf: int64, pos: int64, s: pchar): int64 pub Fügt Bulk-String ins RESP-Request-Format ein
parseResp(conn: RedisConn, n: int64): RedisReply pub Parst RESP-Antwort vom Server
sendRaw(conn: RedisConn, reqbuf: int64, req_len: int64): RedisReply pub Sendet rohes RESP-Kommando an Redis
RedisConnect(host: pchar, port: int64): RedisConn pub Öffnet Verbindung zum Redis-Server
RedisClose(conn: RedisConn): void pub Schließt Redis-Verbindung
RedisPing(conn: RedisConn): bool pub Testet Redis-Verbindung mit PING
RedisSet(conn: RedisConn, key: pchar, value: pchar): RedisReply pub Setzt String-Wert für Schlüssel
RedisGet(conn: RedisConn, key: pchar): RedisReply pub Liest String-Wert eines Schlüssels
RedisDel(conn: RedisConn, key: pchar): int64 pub Löscht einen Schlüssel
RedisExists(conn: RedisConn, key: pchar): int64 pub Prüft ob Schlüssel existiert
RedisLPush(conn: RedisConn, key: pchar, value: pchar): RedisReply pub Fügt Element am Listenanfang ein
RedisRPush(conn: RedisConn, key: pchar, value: pchar): RedisReply pub Fügt Element am Listenende ein
RedisLPop(conn: RedisConn, key: pchar): RedisReply pub Entfernt und gibt erstes Listenelement zurück
RedisRPop(conn: RedisConn, key: pchar): RedisReply pub Entfernt und gibt letztes Listenelement zurück
RedisLRange(conn: RedisConn, key: pchar, start: int64, stop: int64): RedisReply pub Liest Listenbereich als Array
RedisLLen(conn: RedisConn, key: pchar): int64 pub Gibt Länge einer Liste zurück
RedisHSet(conn: RedisConn, key: pchar, field: pchar, value: pchar): RedisReply pub Setzt Hash-Feldwert
RedisHGet(conn: RedisConn, key: pchar, field: pchar): RedisReply pub Liest Hash-Feldwert
RedisHGetAll(conn: RedisConn, key: pchar): RedisReply pub Liest alle Hash-Felder und Werte
RedisHDel(conn: RedisConn, key: pchar, field: pchar): int64 pub Löscht Hash-Feld
RedisHIncrBy(conn: RedisConn, key: pchar, field: pchar, increment: int64): RedisReply pub Inkrementiert Hash-Feld um Integer
RedisSAdd(conn: RedisConn, key: pchar, member: pchar): RedisReply pub Fügt Member zu Set hinzu
RedisSRem(conn: RedisConn, key: pchar, member: pchar): RedisReply pub Entfernt Member aus Set
RedisSIsMember(conn: RedisConn, key: pchar, member: pchar): int64 pub Prüft ob Member im Set enthalten
RedisSInter(conn: RedisConn, key1: pchar, key2: pchar): RedisReply pub Schnittmenge zweier Sets
RedisSUnion(conn: RedisConn, key1: pchar, key2: pchar): RedisReply pub Vereinigung zweier Sets
RedisZAdd(conn: RedisConn, key: pchar, score: int64, member: pchar): RedisReply pub Fügt Member mit Score zu Sorted Set hinzu
RedisZRange(conn: RedisConn, key: pchar, start: int64, stop: int64): RedisReply pub Liest Sorted-Set-Bereich aufsteigend
RedisZRevRank(conn: RedisConn, key: pchar, member: pchar): int64 pub Gibt absteigenden Rang im Sorted Set zurück
RedisExpire(conn: RedisConn, key: pchar, seconds: int64): int64 pub Setzt TTL in Sekunden
RedisPExpire(conn: RedisConn, key: pchar, ms: int64): int64 pub Setzt TTL in Millisekunden
RedisTTL(conn: RedisConn, key: pchar): int64 pub Liest verbleibende TTL in Sekunden
RedisUnlink(conn: RedisConn, key: pchar): int64 pub Löscht Schlüssel asynchron
RedisIncr(conn: RedisConn, key: pchar): RedisReply pub Inkrementiert Integer-Wert um 1
RedisDecr(conn: RedisConn, key: pchar): RedisReply pub Dekrementiert Integer-Wert um 1
RedisSCard(conn: RedisConn, key: pchar): int64 pub Gibt Anzahl Elemente im Set zurück
RedisZScore(conn: RedisConn, key: pchar, member: pchar): RedisReply pub Gibt Score eines Sorted-Set-Members zurück
RedisSMembers(conn: RedisConn, key: pchar): RedisReply pub Gibt alle Members eines Sets zurück