Skip to content

Ask the HotKV docs

Answers come only from these docs and can be wrong; check the linked pages before you rely on them.

PCACHE.SET

Last updated
PCACHE.SET namespace prompt response [TTL seconds] [META metadata] [MODEL model [INPUT n] [OUTPUT n] [CACHEREAD n] [CACHEWRITE5M n] [CACHEWRITE1H n]]
Group
Prompt cache
Complexity
O(1)
Arity
-4 (at least 4 words, counting the command name)
Flags
write, fast
Keys
first 1, last 1, step 1
HotKV Cloud
Performance and Scale
On-Premise
requires the prompt-cache license feature

The prompt cache is an exact-match cache for LLM prompt and response pairs, organised in named namespaces. PCACHE.SET stores response under the exact prompt string in namespace. If the prompt is already cached, its response, metadata, usage and expiry are replaced. The namespace must exist (see PCACHE.CREATE).

Option Effect
TTL seconds Time to live for this entry. 0 or omitted uses the namespace’s default TTL.
META metadata Any string you want to keep with the entry, such as JSON. PCACHE.GETEX returns it.
MODEL model The model that produced the response. Required when you pass any token count below.
INPUT n Uncached input tokens the original call used.
OUTPUT n Output tokens the original call used.
CACHEREAD n Provider cache-read tokens the original call used.
CACHEWRITE5M n Tokens the original call wrote to a 5-minute provider cache.
CACHEWRITE1H n Tokens the original call wrote to a 1-hour provider cache.

Options come in name and value pairs after response, in any order.

The usage options record what the original, uncached model call consumed. Every later hit on the entry adds those tokens to the namespace’s usage_saved_* counters, and when the model has a price (built in, or set with LLMSTATS.PRICE) it also adds the cost those tokens would have had to usage_saved_cost_usd. Token counts are non-negative integers. Passing a token count without MODEL is rejected.

Case RESP2 RESP3
Entry stored Simple string OK Same

Errors:

  • ERR namespace not found if the namespace does not exist.
  • ERR syntax error if an option has no value.
  • ERR unknown option for any other option name.
  • ERR invalid TTL if TTL is not a non-negative integer.
  • ERR usage token counts (INPUT, OUTPUT, CACHEREAD, CACHEWRITE5M, CACHEWRITE1H) need MODEL if you pass a token count without MODEL.
  • ERR invalid INPUT, ERR invalid OUTPUT, ERR invalid CACHEREAD, ERR invalid CACHEWRITE5M or ERR invalid CACHEWRITE1H if a token count is not a non-negative integer.
  • ERR wrong number of arguments for 'pcache.set' command if the argument count is wrong.
  • NOLICENSE prompt-cache requires a HotKV license. Contact sales@hotkv.com if your license does not include the prompt-cache feature.
127.0.0.1:6379> PCACHE.SET llm_prompts "Translate: Hello" "Bonjour"
OK
127.0.0.1:6379> PCACHE.SET llm_prompts "Translate: Hello" "Bonjour" TTL 600 META "{\"lang\":\"fr\"}"
OK
127.0.0.1:6379> PCACHE.SET llm_prompts "Translate: Hello" "Bonjour" MODEL gpt-4o INPUT 20 OUTPUT 3
OK
127.0.0.1:6379> PCACHE.SET llm_prompts "Translate: Hello" "Bonjour" INPUT 20
(error) ERR usage token counts (INPUT, OUTPUT, CACHEREAD, CACHEWRITE5M, CACHEWRITE1H) need MODEL

HotKV-only command. Redis and Valkey have no equivalent.

PCACHE.CREATE, PCACHE.GET, PCACHE.GETEX, PCACHE.DEL, PCACHE.STATS, PCACHE.FLUSH, PCACHE.DROP, PCACHE.LIST, PCACHE.CONFIG, AI features guide