RediStack icon indicating copy to clipboard operation
RediStack copied to clipboard

Swift 6.1 async/await support for SCAN and other commands

Open nysander opened this issue 8 months ago • 1 comments

Problem

RediStack 1.6.2 does not support async/await for SCAN and other commands, which blocks full adoption of Swift 6.1 concurrency and modern async patterns in server-side Swift applications. The lack of async/await support for SCAN means fallback and cache search logic cannot be implemented in a scalable, non-blocking way. Workarounds (such as sync helpers) are not compatible with Swift concurrency rules and can introduce thread-safety and performance issues.

Why This Matters

  • Many developers want to use async/await throughout their codebase for clarity, safety, and performance
  • Non-blocking Redis operations are essential for scalable, modern Swift server applications
  • SCAN is required for efficient cache/fallback lookups; blocking or sync workarounds are not acceptable for production
  • Swift 6.1+ adoption is blocked without proper async/await support

Request

  • Add async/await support for SCAN and other Redis commands
  • Ensure compatibility with Swift 6.1+ concurrency rules
  • Provide migration path from sync to async APIs
  • Document any breaking changes

Environment

  • Swift 6.1+
  • RediStack 1.6.2
  • Server-side Swift applications

nysander avatar Jun 22 '25 17:06 nysander