Files
puter/extensions/data.js
T
Daniel Salazar 7a47047c0d feat: replace serializible caches with redis instead of kvjs 🚀 (#2381)
* wip: redis move

* fix: redis in extensions

* fix: bad isEMpty assignment

* fix: bad redis client config

* wip

* fix: redis keys cache

* fix: redis batch delete

* fix: change bulk cache times to allow for more instaces

* fix: broken tests
2026-02-03 02:18:31 -08:00

33 lines
896 B
JavaScript

//@extension priority -10000
const { redisClient } = extension.import('core');
const svc_database = extension.import('service:database');
const svc_kvstore = extension.import('service:puter-kvstore');
// Methods on the object from `.as()` come from TraitsFeature.js,
// and they are already bound to their respective instance.
const simplified_kv = { ...svc_kvstore.as('puter-kvstore') };
const original_get = simplified_kv.get;
const original_set = simplified_kv.set;
simplified_kv.get = (...a) => {
if ( typeof a[0] === 'string' ) {
return original_get({ key: a[0] });
}
return original_get(...a);
};
simplified_kv.set = (...a) => {
if ( typeof a[0] === 'string' ) {
return original_set({ key: a[0], value: a[1] });
}
return original_set(...a);
};
extension.exports = {
db: svc_database.get(),
kv: simplified_kv,
cache: redisClient,
};