asyncio (PEP 3156) Redis support
Overall
score
98%
{
"context": "This criteria evaluates how well the engineer uses aioredis string operations to implement a session token manager. The focus is on proper usage of Redis commands for storing tokens with expiration, batch operations, existence checking, and key deletion.",
"type": "weighted_checklist",
"checklist": [
{
"name": "Token expiry usage",
"description": "Uses setex() or set() with ex parameter to store tokens with automatic expiration in store_token(). Does not manually track expiration or use separate expire() calls.",
"max_score": 25
},
{
"name": "Batch set operations",
"description": "Uses mset() to store multiple tokens atomically in store_tokens(). Properly handles setting expiration for all tokens after mset, either through pipeline or multiple setex calls if mset+expiry is not directly available.",
"max_score": 20
},
{
"name": "Single get operation",
"description": "Uses get() method correctly in get_token() to retrieve a single token value. Properly handles None return for non-existent keys.",
"max_score": 10
},
{
"name": "Batch get operations",
"description": "Uses mget() to retrieve multiple token values atomically in get_tokens(). Correctly maps user_ids to retrieved values and handles None values for missing keys.",
"max_score": 15
},
{
"name": "Existence checking",
"description": "Uses exists() method in token_exists() to check if a session key exists. Returns proper boolean value.",
"max_score": 10
},
{
"name": "Single key deletion",
"description": "Uses delete() or unlink() method correctly in delete_token() to remove a single session key.",
"max_score": 10
},
{
"name": "Batch deletion",
"description": "Uses delete() or unlink() with multiple keys in delete_tokens() to remove multiple session keys in a single operation.",
"max_score": 10
}
]
}Install with Tessl CLI
npx tessl i tessl/pypi-aioredisdocs
evals
scenario-1
scenario-2
scenario-3
scenario-4
scenario-5
scenario-6
scenario-7
scenario-8
scenario-9
scenario-10