Amazon ElastiCache
Managed Valkey, Memcached or Redis OSS cache created as a serverless cache or a node-based cluster.
| property | type | values | required | kind default | this component |
|---|---|---|---|---|---|
| clusterMode | boolean | — | no | false | inherited |
| deployment | enum | serverless | node-based | no | serverless | inherited |
| durability | boolean | — | no | false | inherited |
| encryptionAtRest | boolean | — | no | true | inherited |
| engine | enum | valkey | redis-oss | memcached | no | — | inherited |
| evictionPolicy | enum | lru | lfu | ttl | none | no | — | inherited |
| hashing | enum | none | consistent | no | none | inherited |
| invalidation | enum | ttl | event | none | no | ttl | inherited |
| managed | boolean | — | no | false | ▸ true |
| materialised | boolean | — | no | false | inherited |
| persistence | boolean | — | no | false | ▸ false |
| readBarrier | boolean | — | no | false | inherited |
| replication | enum | none | single-az | multi-az | multi-region | no | none | inherited |
| shards | integer | — | no | — | inherited |
| structure | enum | key-value | bloom-filter | hash-set | sorted-set | no | key-value | ▸ key-value |
| tier | enum | core | edge | no | core | ▸ core |
| ttlJitter | boolean | — | no | false | inherited |
| ttlSeconds | integer | — | no | — | inherited |
| usedAsPrimaryStore | boolean | — | no | false | ▸ false |
Every rule whose selector covers this component's kind or its category. Whether a rule fires depends on the design: its properties, its edges and its groups.
cache-as-primary-store-without-persistence
This cache is the only copy of its data and has persistence turned off. A restart loses the data outright.
- — all of these hold:
- — the node's `usedAsPrimaryStore` is true
- — the node's `persistence` is false
cache-missing-eviction-policy
A cache with no declared eviction policy inherits whatever the vendor chose, and most vendors default to evicting nothing. The cache fills up and then starts refusing writes.
- — any of these hold:
- — the node's `evictionPolicy` has no value
- — the node's `evictionPolicy` is "none"
materialised-cache-without-rebuild-path
A cache holding materialised views has to be rebuildable from a durable store or a worker. With nothing feeding it, a cold cache is a permanent gap rather than a slow start.
- — all of these hold:
- — the node's `materialised` is true
- — this does not hold:
- — the node has at least one incoming edge from a sql-database, nosql-database, worker or stream
nodes:
- { id: "elasticache", component: "aws-elasticache" }ApsaraDB for Memcachealibaba-apsaradb-memcacheApsaraDB for Redisalibaba-apsaradb-redisAmazon DynamoDB Accelerator (DAX)aws-daxAmazon MemoryDBaws-memorydbAzure Cache for Redisazure-cache-for-redisAzure Managed Redisazure-managed-redisGeneric cachecacheCache clustercache-clustercogneecogneeDragonflydragonflyEVCacheevcacheMicrosoft GarnetgarnetVMware GemFiregemfireGraphitigraphitiHazelcasthazelcastApache IgniteigniteInfinispaninfinispanKeyDBkeydbLettalettaMem0mem0MemcachedmemcachedRedisredisRedis Cloudredis-cloudSquidsquidTrickstertricksterUpstash RedisupstashValkeyvalkeyVarnish CachevarnishZepzepMemorystore for Redisgoogle-memorystoreMemorystore for Memcachedgoogle-memorystore-memcachedMemorystore for Redis Clustergoogle-memorystore-redis-clusterMemorystore for Valkeygoogle-memorystore-valkeyIBM Cloud Databases for Redisibm-databases-for-redisOCI Cache with Redisoci-cache-redisOCI Cache with Valkeyoci-cache-valkey
# yaml-language-server: $schema=../../schema/component.schema.json # Amazon ElastiCache: managed in-memory cache running Valkey, Memcached or Redis OSS, created either as # a serverless cache or as a node-based cluster ("What is Amazon ElastiCache?"). "At-Rest Encryption in # ElastiCache" states that at-rest encryption is always enabled on a serverless cache and on clusters # with durability enabled, and is opt-in at creation for other node-based clusters. schemaVersion: "1" type: "component" id: "aws-elasticache" kind: "cache" provider: "aws" docs: "https://docs.aws.amazon.com/AmazonElastiCache/latest/dg/at-rest-encryption.html" defaults: managed: true persistence: false usedAsPrimaryStore: false structure: "key-value" tier: "core" properties: engine: type: "enum" values: ["valkey", "redis-oss", "memcached"] deployment: type: "enum" values: ["serverless", "node-based"] default: "serverless" encryptionAtRest: type: "boolean" default: true durability: type: "boolean" default: false clusterMode: type: "boolean" default: false