> For the complete documentation index, see [llms.txt](https://docs.eiffel.dev/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.eiffel.dev/features.md).

# Features

- [Cross cutting concerns](https://docs.eiffel.dev/features/cross-cutting-concerns.md)
- [API response consistency](https://docs.eiffel.dev/features/cross-cutting-concerns/api-response-consistency.md)
- [Global exception handling](https://docs.eiffel.dev/features/cross-cutting-concerns/global-exception-handling.md)
- [Idempotency](https://docs.eiffel.dev/features/cross-cutting-concerns/idempotency.md): IdempotentRequest Action Filter Attribute
- [Audit logging](https://docs.eiffel.dev/features/cross-cutting-concerns/audit-logging.md)
- [Caching](https://docs.eiffel.dev/features/caching.md)
- [Configuration](https://docs.eiffel.dev/features/caching/configuration.md)
- [In-Memory](https://docs.eiffel.dev/features/caching/configuration/in-memory.md)
- [Redis](https://docs.eiffel.dev/features/caching/configuration/redis.md)
- [Usage](https://docs.eiffel.dev/features/caching/usage.md)
- [API](https://docs.eiffel.dev/features/caching/api.md)
- [CacheSource](https://docs.eiffel.dev/features/caching/api/cachesource.md): CacheSource enum provides a list of supported cache sources
- [InMemoryCacheOptions](https://docs.eiffel.dev/features/caching/api/inmemorycacheoptions.md): In-Memory cache options
- [RedisCacheOptions](https://docs.eiffel.dev/features/caching/api/rediscacheoptions.md): Redis cache options
- [ICacheService](https://docs.eiffel.dev/features/caching/api/icacheservice.md)
- [ICacheServiceFactory](https://docs.eiffel.dev/features/caching/api/icacheservicefactory.md): Cache factory resolves cache service with given index. You can use this method for both cache source but only useful when used with Redis.
- [Localization](https://docs.eiffel.dev/features/localization.md)
- [Job Processing](https://docs.eiffel.dev/features/job-processing.md): Distributed, scalable, loosely coupled job processing
- [Multi-Tenancy](https://docs.eiffel.dev/features/multi-tenancy.md)
- [Metrics & monitoring](https://docs.eiffel.dev/features/metrics-and-monitoring.md)
- [Transactional outbox](https://docs.eiffel.dev/features/transactional-outbox.md)
- [PostgreSQL](https://docs.eiffel.dev/features/transactional-outbox/postgresql.md)
- [MongoDB (cluster only)](https://docs.eiffel.dev/features/transactional-outbox/mongodb-cluster-only.md)
- [Messaging](https://docs.eiffel.dev/features/messaging.md)
- [Kafka](https://docs.eiffel.dev/features/messaging/kafka.md)
- [Rabbit MQ](https://docs.eiffel.dev/features/messaging/rabbit-mq.md)
- [Azure Service Bus](https://docs.eiffel.dev/features/messaging/azure-service-bus.md)
- [Awaitable socket client](https://docs.eiffel.dev/features/awaitable-socket-client.md)
- [Graceful shutdown](https://docs.eiffel.dev/features/graceful-shutdown.md)
