Package at.letto.databaseclient.service
Class BaseLettoRedisDBService
java.lang.Object
at.letto.databaseclient.service.BaseLettoRedisDBService
Service für die Zugriff auf die REDIS-Datenbank in LeTTo
Es sind die Datenbanken 0 bis 15 verfügbar
In der Umgebungsvariable REDIS_DEFAULT_DATABASE kann eine Standard-Datebank definiert sein ohne Angabe ist 0 die Standard-Datenbank
Es sind die Datenbanken 0 bis 15 verfügbar
In der Umgebungsvariable REDIS_DEFAULT_DATABASE kann eine Standard-Datebank definiert sein ohne Angabe ist 0 die Standard-Datenbank
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate DatabaseConnectionService
private int
Zähler für Fehlzugriffe auf Redis-DBprotected org.slf4j.Logger
static final int
static final int
static final int
static final int
static final int
private boolean
Indikator, ob Redis-DB zugreifbarstatic final String
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
Test der Funktionsfähigkeit der Redis-Datenbank, startet erstmals nach 10 Sek. und dann alle 5 Minutenboolean
Löschen vom einem Key aus der REDIS-Datebankvoid
deleteKeysWithPrefix
(int database, String pattern) Löschen van allen Datenbankeinträgen in der Redis-DB mit einem Such-Pattern.
Alle DB-Einträge, die diesem Such-Pattern entsprechen, werden gelöscht.void
deleteKeysWithPrefix
(String pattern) Löschen van allen Datenbankeinträgen aus der STANDARD-Redis-DB mit einem Such-Pattern.
Alle DB-Einträge, die diesem Such-Pattern entsprechen, werden gelöscht.Sucht nach einem Key und gibt den gefundenen Value zurück<T> T
Sucht nach einem Key und gibt den gefundenen Value zurück oder null wenn der key nicht gefunden werden kannSucht nach einem Key und gibt den gefundenen Value zurück<T> T
Sucht nach einem Key und gibt den gefundenen Value als Klasse mit entsprechendem Typ zurück oder null wenn der key nicht gefunden werden kanngetServiceInfo
(String serviceAddress) Sucht nach einem Key und gibt den gefundenen Value als String zurückSucht nach einem Key und gibt den gefundenen Value als String zurückLädt einen Token aus der Redis-DBboolean
boolean
keySet()
keySet
(int database) loadKeysWithPrefix
(int database, Class<T> typ, String pattern) Laden von allen Redis-Einträgen des gleichen Datentyps mit einem Such-PatternloadKeysWithPrefix
(int database, String pattern) Laden von allen Redis-Einträgen von beliebigen Daten mit einem Such-Pattern.loadKeysWithPrefix
(Class<T> typ, String pattern) Laden von allen Redis-Einträgen des gleichen Datentyps mit einem Such-Pattern aus der Default-Redis-DBboolean
speichert ein Objekt mit einem key als JSON in einer Datenbankboolean
speichert ein Objekt mit einem key in einer Datenbankboolean
speichert ein Objekt mit einem key in der Standard-Datebankboolean
putMilliSeconds
(int database, String key, Object value, long milliseconds) speichert ein Objekt mit einem key in einer Datenbankboolean
putSeconds
(int database, String key, Object value, long seconds) speichert ein Objekt mit einem key in einer Datenbankboolean
putToken
(LettoToken lettoToken) Speichert einen Token in der Redis-DB für eine Zeit von maximal 2 Minutenorg.springframework.data.redis.connection.lettuce.LettuceConnectionFactory
Liefert einen Redis-Client auf die Standard-Redis-Datenbank des Servicesorg.springframework.data.redis.connection.lettuce.LettuceConnectionFactory
redisClient
(int database) Liefert einen Redis-Client auf angegebene DatenbankLiefert ein Redis-Template auf die Standard-Redis-Datenbank des ServicesredisTemplate
(int database) Liefert ein Redis-Template auf angegebene Datenbankboolean
registerService
(LeTToServiceInfoDto serviceInfoDto) registriert ein Service in der Datenbank 0 (REDIS_DATABASE_SETUP) mit den notwendigen Daten
sollte von jedem Service regelmäßig aufgerufen werden (z.B. jede Minute und beim Systemstart) und speichert alle Daten eines Docker-Containers (Services) in der Redis-Datenbank
Als Key wird die Adresse innerhalb des Docker-Netzwerkes verwendet - die ja eindeutig sein muss!boolean
removeToken
(String token) Löscht einen Token aus der Redis-DBprivate void
setError()
Erhöht der Fehlerzähler und setzt redisOK auf false, wenn zu viele Fehler auftreten
-
Field Details
-
TOKEN_PREFIX
- See Also:
-
REDIS_DATABASE_SETUP
public static final int REDIS_DATABASE_SETUP- See Also:
-
REDIS_DATABASE_LOGIN
public static final int REDIS_DATABASE_LOGIN- See Also:
-
REDIS_DATABASE_QUESTION
public static final int REDIS_DATABASE_QUESTION- See Also:
-
REDIS_DATABASE_EXPORT
public static final int REDIS_DATABASE_EXPORT- See Also:
-
REDIS_DATABASE_EDIT
public static final int REDIS_DATABASE_EDIT- See Also:
-
databaseConnectionService
-
logger
protected org.slf4j.Logger logger -
errorCount
private int errorCountZähler für Fehlzugriffe auf Redis-DB -
redisOk
private boolean redisOkIndikator, ob Redis-DB zugreifbar
-
-
Constructor Details
-
BaseLettoRedisDBService
public BaseLettoRedisDBService()
-
-
Method Details
-
checkRedisService
@Scheduled(initialDelay=10000L, fixedRate=300000L) public void checkRedisService()Test der Funktionsfähigkeit der Redis-Datenbank, startet erstmals nach 10 Sek. und dann alle 5 Minuten -
redisClient
public org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory redisClient()Liefert einen Redis-Client auf die Standard-Redis-Datenbank des Services- Returns:
- LettuceConnectionFactory für den Datenbankzugriff
-
redisClient
public org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory redisClient(int database) Liefert einen Redis-Client auf angegebene Datenbank- Parameters:
database
- Datenbank auf die verbunden wird- Returns:
- LettuceConnectionFactory für den Datenbankzugriff
-
redisTemplate
Liefert ein Redis-Template auf die Standard-Redis-Datenbank des Services- Returns:
- RedisTemplateinvalid input: '<'String, Object> für den Datenbankzugriff
-
redisTemplate
Liefert ein Redis-Template auf angegebene Datenbank- Parameters:
database
- Datenbank auf die verbunden wird- Returns:
- RedisTemplateinvalid input: '<'String, Object> für den Datenbankzugriff
-
hasKey
- Returns:
- Sucht in der Standard-Datenbank des Services nach einem key
-
hasKey
- Returns:
- Sucht in der angegebenen Datenbank nach einem key
-
keySet
- Returns:
- liefert alle Keys der Standard-Datenbank
-
keySet
- Returns:
- liefert alle Keys der Standard-Datebank welche einem Suchkriterium entsprechen
-
keySet
- Returns:
- liefert alle Keys einer Datenbank
-
keySet
- Returns:
- liefert alle Keys einer Datebank welche einem Suchkriterium entsprechen
-
get
Sucht nach einem Key und gibt den gefundenen Value zurück -
get
Sucht nach einem Key und gibt den gefundenen Value zurück -
getString
Sucht nach einem Key und gibt den gefundenen Value als String zurück -
getString
Sucht nach einem Key und gibt den gefundenen Value als String zurück -
get
Sucht nach einem Key und gibt den gefundenen Value als Klasse mit entsprechendem Typ zurück oder null wenn der key nicht gefunden werden kann -
get
Sucht nach einem Key und gibt den gefundenen Value zurück oder null wenn der key nicht gefunden werden kann -
put
speichert ein Objekt mit einem key in der Standard-Datebank -
put
speichert ein Objekt mit einem key als JSON in einer Datenbank -
put
speichert ein Objekt mit einem key in einer Datenbank- Parameters:
database
-key
-value
-minutes
- Anzahl an Minuten bis der Eintrag gelöscht wird
-
putSeconds
speichert ein Objekt mit einem key in einer Datenbank- Parameters:
database
-key
-value
-seconds
- Anzahl an Sekunden bis der Eintrag gelöscht wird
-
putMilliSeconds
speichert ein Objekt mit einem key in einer Datenbank- Parameters:
database
-key
-value
-milliseconds
- Anzahl an MilliSekunden bis der Eintrag gelöscht wird
-
setError
private void setError()Erhöht der Fehlerzähler und setzt redisOK auf false, wenn zu viele Fehler auftreten -
registerService
registriert ein Service in der Datenbank 0 (REDIS_DATABASE_SETUP) mit den notwendigen Daten
sollte von jedem Service regelmäßig aufgerufen werden (z.B. jede Minute und beim Systemstart) und speichert alle Daten eines Docker-Containers (Services) in der Redis-Datenbank
Als Key wird die Adresse innerhalb des Docker-Netzwerkes verwendet - die ja eindeutig sein muss! -
getServiceInfo
-
deleteKeysWithPrefix
Löschen van allen Datenbankeinträgen aus der STANDARD-Redis-DB mit einem Such-Pattern.
Alle DB-Einträge, die diesem Such-Pattern entsprechen, werden gelöscht.- Parameters:
pattern
- Suchmuster (zB: htlstp:tests:*)
-
deleteKeysWithPrefix
Löschen van allen Datenbankeinträgen in der Redis-DB mit einem Such-Pattern.
Alle DB-Einträge, die diesem Such-Pattern entsprechen, werden gelöscht.- Parameters:
database
- Ziel-Redis-Datenbankpattern
- Suchmuster (zB: htlstp:tests:*)
-
deleteKey
Löschen vom einem Key aus der REDIS-Datebank- Parameters:
database
- Ziel-Redis-Datenbankkey
- Key der gelöscht werden soll
-
loadKeysWithPrefix
Laden von allen Redis-Einträgen des gleichen Datentyps mit einem Such-Pattern aus der Default-Redis-DB- Type Parameters:
T
-- Parameters:
typ
- Class des Ziel-Typspattern
- Suchmuster (zB: htlstp:tests:*)- Returns:
- HshMap mit Key in Redis-DB und Objekten
-
loadKeysWithPrefix
Laden von allen Redis-Einträgen des gleichen Datentyps mit einem Such-Pattern- Type Parameters:
T
-- Parameters:
database
- Redis-Datenbanknummertyp
- Class des Ziel-Typspattern
- Suchmuster (zB: htlstp:tests:*)- Returns:
- HshMap mit Key in Redis-DB und Objekten
-
loadKeysWithPrefix
Laden von allen Redis-Einträgen von beliebigen Daten mit einem Such-Pattern.- Parameters:
database
- Redis-Datenbanknummerpattern
- Suchmuster (zB: htlstp:tests:*)- Returns:
- HashMap mit Keys in Redis-DB und JSON-Strings
-
getToken
Lädt einen Token aus der Redis-DB- Parameters:
token
- Tokenstring- Returns:
- LettoToken-Objekt
-
putToken
Speichert einen Token in der Redis-DB für eine Zeit von maximal 2 Minuten- Parameters:
lettoToken
- LettoToken-Objekt
-
removeToken
Löscht einen Token aus der Redis-DB- Parameters:
token
- Tokenstring
-