memory-caching
Service icon

Memory Caching

Stable version 1.0.0 (Compatible with OutSystems 11)
Uploaded
 on 26 May
 by 
0.0
 (0 ratings)
memory-caching

Memory Caching

Documentation
1.0.0

MemoryCaching_Extention

Overview

The CssMemoryCaching_Extention component provides a thread-safe, in-memory caching mechanism designed to store and retrieve key-value string pairs efficiently within OutSystems applications. This component enhances application performance by minimizing repeated expensive operations like database or API calls, using a high-performance concurrent dictionary for safe multi-thread access.


Features

  • Thread-safe in-memory cache using ConcurrentDictionary<string, string>

  • Add or update cache entries with MssAddToMemory

  • Retrieve cached values with MssGetFromMemory

  • Check existence of keys with MssExistsInMemory

  • Clear entire cache with MssClearMemory

  • Enumerate all cached entries with MssGetMemoryContent


Technical Details

  • Implements the interface IssMemoryCaching_Extention for seamless integration with OutSystems extensions.

  • Uses .NET's ConcurrentDictionary for high-concurrency scenarios.

  • Supports only string keys and values.

  • Designed for transient caching — data is lost when the application restarts.

  • Exception-safe methods with graceful failure handling to avoid impact on app stability.


How to Use

  1. Add the component to your OutSystems environment via Forge or your custom extensions folder.

  2. Invoke caching methods from your OutSystems logic or server actions:

    • Add/Update cache:

    • Get value by key:

    • Check if key exists:

      Just Send Key and Will Back With True or False
    • Clear cache:

    • Retrieve all cache content:

  3. Use cache carefully for data that can be recomputed or refetched, as this cache does not support persistence or expiration.


Supported Versions

  • Compatible with .NET Standard 2.0+ environments

  • Tested on OutSystems Platform 11 and 12


Limitations

  • Cache entries are lost on application recycle or server restart.

  • No built-in expiration or size limit — consider extending the component for production use.

  • Only supports string keys and values.

  • No distributed caching support — suitable for single-instance or session caching only.


Security Considerations

  • Ensure sensitive data is not cached in plain text.

  • Validate keys and values before caching to avoid injection attacks.

  • Exception handling prevents crashes but consider logging errors for diagnostics.


Change Log

VersionDateDescription
1.0.02025-05-26Initial release with basic caching features

Support and Contact

For questions, bug reports, or feature requests, please contact:

  • Author: Kerollos Adel

  • Email: Eng_KerollosAdel@hotmail.com