Entities in Redis
An entity in a Redis store (Entities in Redis) is read and written through the same queries and operations as any entity. Redis keeps no indexes of its own, though, so only what Jadpo can keep a key or a set for is allowed:
| Read or write | Allowed on a Redis entity |
|---|---|
get, create, update and delete by id |
Yes |
An update by id adding to a stored whole number (Counter.views + 1) |
Yes, as one Redis increment |
| A lifecycle and its transitions | No: a compile error; expires_after: takes its place |
A query whose where: is equality on a unique: field |
Yes: one record, from the key Jadpo keeps per unique field |
A query whose where: is equality on one field in indexes: |
Yes: a page, in creation order, from the set Jadpo keeps per value; counting the same |
| Policy grants that are equality on the record's own fields | Yes, checked after reading |
Joins, include, ranges (<, >), in, or, ordering by any other field, matches, grants beyond simple equality |
No: a compile error naming the reason and PostgreSQL as the alternative |
- Expired records are hidden from every read and update, as
visible:hides records: a record past itsexpires_after:(counted from its last write) is not found, even in the moment before Redis removes it. - Concurrent change is checked through a revision Jadpo keeps on each record: a write to a record loaded earlier fails as a concurrent change if the revision moved, and the action reruns as any action does.
- One store per action applies as everywhere: an action writing a Redis entity writes nothing in another store.
None of this is built yet: there is no Redis driver.
Markdown for agents: /docs/queries-on-entities-in-redis.md.Built from Jadpo main at a707efb.