Description
AccountProfile stores velocity counters (transactions per 1hr/6hr/24hr)
that must be updated atomically and queried in sub-millisecond time. This
issue replaces InMemoryAccountProfileRepository with a Redis-backed
implementation.
Tasks
Acceptance Criteria
RepositoryFactory.get("AccountProfile", "REDIS") returns Redis impl
- Velocity counters increment atomically under concurrent load
- All existing A11 tests still pass with in-memory backend
Description
AccountProfilestores velocity counters (transactions per 1hr/6hr/24hr)that must be updated atomically and queried in sub-millisecond time. This
issue replaces
InMemoryAccountProfileRepositorywith a Redis-backedimplementation.
Tasks
redis-pyrepositories/redis/redis_account_profile_repository.pysave()using Redis HSETupdate_velocity()using Redis INCR (atomic — BR-AP2)find_by_id()using Redis HGETREDISas a new storage type inRepositoryFactoryAcceptance Criteria
RepositoryFactory.get("AccountProfile", "REDIS")returns Redis impl