Skip to content

Managed Caches

Frostmoln runs managed Redis and Valkey instances — a fast in-memory key-value store for caching, sessions, rate-limiting, and queues. Instances are single-node; the platform provisions the VM, configures the engine, and gives you a connection.

Choosing an engine and version

Pick Redis or Valkey (a Redis-compatible fork — same RESP protocol and redis-cli) at create time. The create dropdown lists the launchable versions and marks the recommended one (Recommended); end-of-life and preview versions are hidden. Version statuses follow the same lifecycle as managed databases.

Sizing

Instance sizes use the cache.gp1.<size> flavor family (micro/small/medium/large/xlarge), each with a set amount of vCPU and RAM. The flavor's RAM is the effective memory available to the cache. The create dialog shows specs and the estimated cost before you confirm.

Create an instance

In the portal, go to Caches → Create and choose the engine, version, flavor, the VPC + subnet, and — optionally — a persistence mode and eviction policy (both explained below).

From the CLI

Lifecycle commands are engine-specific (fm redis … / fm valkey …); the cross-engine fm cache … group lists across engines.

bash
fm redis instance create \
  --name app-cache \
  --version 7.4 \
  --flavor cache.gp1.small \
  --vpc my-vpc \
  --subnet my-subnet \
  --persistence-mode rdb \
  --eviction-policy allkeys-lru

# Valkey is symmetric (fm valkey instance create …)
fm cache instance list

With Terraform

hcl
resource "frostmoln_cache_instance" "app" {
  name             = "app-cache"
  engine           = "valkey"
  engine_version   = "8.1"
  flavor_id        = "cache.gp1.small"
  vpc_id           = frostmoln_network_vpc.main.id
  subnet_id        = frostmoln_network_subnet.main.id
  persistence_mode = "rdb"
  eviction_policy  = "allkeys-lru"
}

Connect

After provisioning, the instance detail page reveals the connection details behind a Show Credentials button:

  • Host — the instance's private address
  • Port6379
  • Usernamedefault
  • Password — generated for you (rotatable)
  • a ready-to-use redis:// URI

The cache is reachable from instances on the same VPC; the create flow opens port 6379 in its security group.

bash
redis-cli -h <host> -p 6379 -a <password> ping

In-VPC, password-authenticated, no TLS

Connections use password authentication and are not TLS-encrypted, so keep the cache reachable only from within your VPC (the default) and never expose port 6379 to the internet. Store the password in Secrets, and rotate it from the detail page when needed.

Persistence and eviction

Persistence mode controls whether data survives a restart (a persistent volume is attached when persistence is enabled):

  • rdb — periodic point-in-time snapshots (default)
  • aof — append-only log of every write
  • rdb+aof — both, for maximum durability
  • none — pure in-memory cache, nothing written to disk

Eviction policy controls what happens when memory fills up — noeviction (reject new writes, the default) or an LRU/LFU/random/TTL-based policy such as allkeys-lru. Both settings can be changed after creation from the detail page (or persistence_mode / eviction_policy in Terraform).

Cache, not a database of record

Even with persistence enabled, treat a managed cache as a cache — fast but not your durable system of record. Keep the authoritative copy of important data in a managed database.

Managing an instance

  • Resize — change the flavor (vCPU/RAM) or grow storage from the detail page.
  • Restart — restart the engine from the detail page.
  • Rotate password — generate a new password from Show Credentials.
  • Update settings — change persistence/eviction without recreating.

Limits

  • Single-node — no replication, failover, or cluster mode today.
  • No platform backups — persistence protects against a restart, not against deletion; deleting an instance is permanent.
  • The engine version is fixed for the life of an instance — to change it, create a new instance on the desired version.