Expand description
The only Redis-aware part of the mock: key layout, generations, the per-request working set, the write-back pipeline and the call log.
Its own connection rather than the cache wrapper, whose failures are silent no-ops: a component tests assert against has to fail loudly.
Structsยง
- Mock
Suotar Store - Owner
Keys - Preamble
- Everything a request needs before it may look at the body.
- World
- A whole world, as installed under one generation. Indexes are derived from the entities rather than part of it, so a caller cannot desynchronise them.
- World
Counts
Enumsยง
- Entity
Hash - Hashes the command surface reads and writes by name.
Constantsยง
- ATTAINMENTS ๐
- CALLS ๐
- COURSE_
UNITS ๐ - ENROLMENTS ๐
- FAULTS ๐
- FAULTS_
REMAINING ๐ - GENERATION_
KEY ๐ - GENERATION_
SEQ_ ๐KEY - IDX_
ATTAINMENTS_ ๐BY_ PERSON_ COURSE - IDX_
ENROLMENTS_ ๐BY_ PERSON - IDX_
ENROLMENTS_ ๐BY_ REALISATION - IDX_
OWNER_ ๐KEYS - IDX_
SUBMISSIONS_ ๐BY_ PERSON_ COURSE - META ๐
- PERSONS ๐
- PREFIXED_
KEYS ๐ - Closed by design: cleaning up a superseded generation is one
DELover these names, never a keyspace scan. - PRODUCT_
TOKENS ๐ - SEQ_
CALL ๐ - SEQ_
FAULT ๐ - SEQ_
PERSON ๐ - SUBMISSIONS ๐
Functionsยง
- database_
url ๐ - flatten ๐
- hmget_
cmd ๐ - Always
HMGET, so the reply is an array whatever the field count โ a single-fieldHGETanswers with a bare string, and no fields at all is a protocol error. - hmget_
json ๐ - key ๐
- push_
hmget ๐ - write_
derived_ ๐indexes - write_
entity_ ๐hash - zip_
json ๐
Type Aliasesยง
- Fields ๐
- What one
HMGETanswers with: a slot per requested field, empty where the field is absent.