Yeah, specifically on expiry is what I was looking for.
Yeah, specifically on expiry is what I was looking for.

expirationTtl option, do those removals count toward the delete request quota ?c.env.<binding>.list(), I can see the keys listed in the terminal as expected. However, when I attempt to list the keys directly from the terminal, the namespace appears completely empty—no keys are returned. I also checked the Cloudflare dashboard, and it's showing the same issue: the namespace is empty.






wrangler kv key get from local disk? as i recall it has persist flag or something 
--remocal, which tests in local/remote 50% of the time/lib/config-DMEbaV5l.js.get()?export default defineEventHandler(async ({ context }) => {
console.log(context)
console.log(context.cloudflare)
console.log('-=-==-=-=-=-=-s')
console.log(context.cloudflare.env)
console.log("HERE")
const ARCKV = context.cloudflare.env.ARCKV;
const kvList = await context.cloudflare.env.ARCKV.list();
const value = await context.cloudflare.env.ARCKV.get("123");
const save = await context.cloudflare.env.ARCKV.set('Testing', "5678")
console.log(save)
console.log(kvList)
console.log(value)
let full_obj = await ARCKV.list()
console.log(full_obj)
console.log("BEFORE KV")
console.log(ARCKV)
return kvList;
});import {
CfProperties,
Request,
ExecutionContext,
KVNamespace,
} from "@cloudflare/workers-types";
declare module "h3" {
interface H3EventContext {
cf: CfProperties;
cloudflare: {
request: Request;
env: {
ARCKV: KVNamespace;
};
context: ExecutionContext;
};
}
}✨ Compiled Worker successfully
Your worker has access to the following bindings:
- KV Namespaces:
- ARCKV: ---------hidden but there --------
[wrangler:inf] Ready on http://localhost:8788
⎔ Starting local server...
✨ Parsed 0 valid redirect rules.
✨ Parsed 3 valid header rules.
[wrangler:inf] GET / 200 OK (32ms)export default eventHandler(async (event) => {
const { ARCKV } = event.context.cloudflare.env;
console.log(ARCKV)
let test = await ARCKV.list()
console.log(test)
let ctr = (await ARCKV.get("counter")) || 0;
await ARCKV.put("counter", ++ctr % 100);
return `counter: ${(await ARCKV.get("counter")) || 0}`;
});{
viewer {
accounts(filter: {accountTag: "<AccctId>"}) {
kvOperationsAdaptiveGroups(filter: {date_gt: "2024-08-30", actionType: "read" }, limit: 100, orderBy: [ sum_requests_DESC ]) {
dimensions {
actionType
namespaceId
}
sum {
requests
}
}
}
}
}.get()