Skip to content

Implement transactions API #156

@mijicd

Description

@mijicd

Extracted from this comment authored by @regis-leray.

Commands

  • DISCARD Discard all commands issued after MULTI
  • EXEC Execute all commands issued after MULTI
  • MULTI Mark the start of a transaction block
  • UNWATCH Forget about all watched keys
  • WATCH key [key ...] Watch the given keys to determine execution of the MULTI/EXEC block

Tips

  • Define the API in zio.redis.api.
  • Command-specific options should be defined in zio.redis.options.
  • Additional inputs and outputs can be defined in zio.redis.Input and zio.redis.Output, respectively.
  • Redis API evolves, therefore the commands listed above might be slightly changed. Double check the official docs before starting with implementation.
  • Use telnet to understand command protocol details.
  • Write inputs and outputs tests in zio.redis.InputSpec and zio.redis.OutputSpec, respectively.
  • Write integration tests by expanding the zio.redis.ApiSpec.
  • If you feel that the pull request size is growing out of control, feel free to split it but make sure to link this issue in each of the related PRs.

Metadata

Metadata

Labels

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions