Skip to main content
Skip table of contents

RedisService

Name

RedisService

Class Path

be.securit.trustbuilder.service.RedisService

Versions

9 10

Overview

The RedisService class provides integration with Redis for caching and key-value storage. It supports:

  • Connecting to Redis using a single node or a Sentinel-based setup.

  • Basic caching operations (put, get, remove).

  • Handling encryption for Redis credentials.

  • Managing Redis connections and resource lifecycle.


Available Functions

Lifecycle Management

start(): void

Initializes the Redis connection pool based on the configured host or sentinel settings.

  • Throws:

    • ConfigurationException if no Redis host or sentinels are configured.

stop(): void

Stops the Redis connection pool and releases resources.


Connection Management

Jedis getResource(): Jedis

Gets a Redis connection from the pool.

  • Returns:

    • Jedis: A Redis client connection.

void clearResource(Jedis jedis): void

Releases a Redis connection.

  • Parameters:

    • jedis (Jedis): The Redis connection to release.

void clearResource(Jedis jedis, boolean error): void

Releases a Redis connection, optionally marking it as an error.

  • Parameters:

    • jedis (Jedis): The Redis connection.

    • error (boolean): If true, logs an error when clearing the resource.


Cache Operations

void put(String key, Object o): void

Stores a key-value pair in Redis.

  • Parameters:

    • key (String): The cache key.

    • o (Object): The value to store.

Object get(String key): Object

Retrieves a value from Redis by key.

  • Parameters:

    • key (String): The cache key.

  • Returns:

    • Object: The stored value or null if not found.

Object get(String key, Number timeout): Object

Retrieves a value from Redis with a placeholder timeout (not implemented).

  • Parameters:

    • key (String): The cache key.

    • timeout (Number): The timeout (not used).

  • Returns:

    • Object: The stored value or null if not found.

Object remove(String key): Object

Deletes a key from Redis.

  • Parameters:

    • key (String): The cache key.

  • Returns:

    • Object: The number of keys removed.


Configuration Methods

void setHost(String host): void

Sets the Redis host.

  • Parameters:

    • host (String): The Redis server host.

void setPassword(String password): void

Sets and decrypts the Redis password if encrypted.

  • Parameters:

    • password (String): The password.

void setMaster(String master): void

Sets the master node name when using Redis Sentinel.

  • Parameters:

    • master (String): The master name.

void setSentinels(String sentinelsString): void

Sets Redis Sentinel nodes from a semicolon-separated string.

  • Parameters:

    • sentinelsString (String): The Redis Sentinel addresses.

  • Throws:

    • RuntimeException if no sentinels are provided.

void setTimeoutInSec(int sec): void

Sets the default TTL (time-to-live) for cache keys.

  • Parameters:

    • sec (int): Timeout in seconds.


Advanced Methods

Object invoke(Function function): Object

Executes a JavaScript function within a Redis connection.

  • Parameters:

    • function (Function): A JavaScript function to execute.

  • Returns:

    • Object: The result of the function.

void invalidate(): void

Invalidates the cache (not implemented).

  • Throws:

    • IllegalArgumentException when called.


Summary

The RedisService class manages Redis connections and provides basic caching functionality. It supports:

  • Redis Sentinel and standalone Redis connections.

  • Secure password handling with decryption.

  • JavaScript execution within Redis.

  • Key-value operations with TTL support.

This service is useful for applications requiring caching, distributed state management, or Redis-based storage.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.