osFoundry / Platform
Store KV par application
KV compatible Redis avec TTL. Sessions, caches, compteurs — dimensionné à votre application.
Présentation
Le store KV par app donne à chaque application que vous construisez dans osFoundry son propre backend clé-valeur compatible Redis. Si vous connaissez déjà Redis, vous connaissez déjà ceci : poser une clé, la relire, incrémenter un compteur, attacher une durée de vie pour que l'entrée expire d'elle-même. Chaque app reçoit son propre espace de noms isolé, si bien que les clés de session d'une app n'entrent jamais en collision avec les entrées de cache d'une autre. Aucun serveur Redis distinct à provisionner, sécuriser ou maintenir en vie : le store fait partie du runtime de l'app et se dimensionne selon l'app qui l'utilise.
Le TTL est la raison d'être d'un store KV, et il se comporte comme vous l'attendez. Écrivez un jeton de session avec une expiration de 30 minutes et il disparaît à la fermeture de la fenêtre ; mettez en cache une réponse d'API coûteuse pendant cinq minutes et laissez-la se rafraîchir toute seule ; tenez un verrou éphémère ou une fenêtre de limitation de débit qui se vide automatiquement. Comme les clés expirent sans tâche de nettoyage, vous stockez un état éphémère sans accumuler de déchets. Les compteurs sont eux aussi de première classe : l'incrément et le décrément atomiques vous donnent des compteurs de vues, un suivi de quotas et de simples numéros de séquence sans course lecture-modification-écriture.
Cela colle à la forme d'osFoundry, un espace de travail de bureau en bring-your-own-key où chat, agents, apps, code, connaissances et données vivent au même endroit. Le store KV est la couche rapide et éphémère qui côtoie les autres données de votre app : utilisez-le pour tout ce qui est chaud, petit et de courte durée, et gardez les enregistrements durables ailleurs. Être compatible Redis signifie que le modèle mental et le vocabulaire de commandes se transposent depuis tout ce que vous avez déjà construit, si bien que vous n'apprenez pas une nouvelle API pour faire tourner sessions et caches.
Fonctionnalités clés
- API clé-valeur compatible Redis : GET, SET, INCR, EXPIRE et les commandes que vous connaissez déjà, aucun nouveau client à apprendre
- TTL par clé pour que sessions, entrées de cache et verrous expirent d'eux-mêmes, sans aucune tâche de nettoyage à lancer
- Espace de noms isolé par app : les clés de chaque app sont limitées à cette app et n'entrent jamais en collision avec celles d'une autre
- Compteurs atomiques par incrément et décrément pour compteurs de vues, quotas et fenêtres de limitation de débit, sans conditions de course
- S'exécute au sein de l'app dans osFoundry : rien à provisionner, et le store se dimensionne selon l'app qui l'utilise
Cas d’usage
- Développeur d'app : stockez les sessions de connexion avec un TTL glissant pour que les utilisateurs restent connectés et que les jetons périmés s'effacent seuls
- Constructeur de backend : mettez en cache pendant quelques minutes les réponses lentes d'API tierces pour réduire la latence et les appels répétés
- Auteur d'outillage d'agents : tenez un compteur de limitation de débit par minute qui se réinitialise seul via une clé qui expire
Questions fréquentes
Est-ce vraiment Redis, ou juste façon Redis ?
C'est compatible Redis, c'est-à-dire que cela parle les mêmes commandes et la même sémantique clé-valeur que vous utilisez déjà : SET avec expiration, GET, INCR, DEL, si bien que vos habitudes et vos schémas de code se transposent tels quels. L'intérêt est que c'est intégré au runtime des apps d'osFoundry : vous n'avez donc pas à monter ni sécuriser un serveur Redis distinct pour en disposer.
Que garder dans le store KV plutôt que dans une vraie base de données ?
Utilisez KV pour un état chaud, petit et de courte durée : sessions, caches, compteurs, fenêtres de limitation de débit et verrous, tout ce dont l'expiration ne vous dérange pas. Gardez dans une vraie base de données les enregistrements durables qui doivent survivre et être interrogés. Le store KV est la couche rapide et éphémère, pas votre système de référence.
Les TTL font-ils expirer les clés automatiquement ?
Oui. Lorsque vous fixez une durée de vie sur une clé, elle est supprimée dès que cette fenêtre est passée, sans tâche de nettoyage de votre côté. C'est ce qui le rend bien adapté aux sessions et aux caches : les données censées être temporaires s'effacent d'elles-mêmes au lieu de s'accumuler.