Skip to content

Update dependency StackExchange.Redis to v3#1855

Open
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/stackexchange.redis-3.x
Open

Update dependency StackExchange.Redis to v3#1855
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/stackexchange.redis-3.x

Conversation

@renovate

@renovate renovate Bot commented Jun 15, 2026

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

Package Change Age Confidence
StackExchange.Redis (source) 2.10.143.0.0 age confidence

Release Notes

StackExchange/StackExchange.Redis (StackExchange.Redis)

v3.0.0

3.0.0 represents an overhaul of the internal IO logic, for both performance and stability reasons.

Intentionally, there are no API changes in this release; it is a direct mirror of 2.13.17, but with the new IO core.

addendum, one change discovered:

  • Execute[Async] now detects and respects "admin" commands, i.e. those protected by AllowAdmin; for example, in 2.x, db.Execute("FLUSHALL"); would work even if AllowAdmin was not enabled - this will now throw at the client without issuing the command to the server

What is the aim of the internals rewrite?

SE.Redis v2 made use of a few concepts internally:

  • the "pipelines" IO layer from System.IO.Pipelines, via Pipelines.Sockets.Unoficial
  • a DOM-based parser built on top of a custom arena allocator

v3 fundamentally revises these engineering decisions:

  • IO and buffer control is taken back directly into the library, allowing for greater control of IO boundaries and the threading model
  • the parser is re-written as a reader-based implementation

This allows for significant performance improvement, especially when processing large / complex results - for example, if we use the LRANGE_600 test from redis-benchmark (or resp-benchmark):

### classic SE.Redis 2.13.17.28173 ###
LRANGE_600:     7,579 requests per second
LRANGE_600:     7,554 requests per second
LRANGE_600:     7,284 requests per second
LRANGE_600:     7,158 requests per second
LRANGE_600:     7,174 requests per second

vs

### classic SE.Redis 3.0.0.11234 ###
LRANGE_600:     16,408 requests per second
LRANGE_600:     17,681 requests per second
LRANGE_600:     17,331 requests per second
LRANGE_600:     17,317 requests per second
LRANGE_600:     16,665 requests per second

(for tests with simpler results, like INCR, results of over 1M requests per second are achievable)


3.0 is the first part of a wave of planned IO work; 3.1 will revise the "write" part of the write loop, moving message serialization out of the critical serialized core of the multiplexer. All of this work is based on extensive prototyping and benchmarking, demonstrating that these approaches, when combined, provide significant throughput and stability improvements.

This release has undergone extensive testing. If you experience problems, please let us know!

v2.13.10

Compare Source

This release is marked inactive due to a critical bug when using TCP keep-alives on DNS (i.e. named, not IP) endpoints; this is specific to non-Windows platforms, before .NET 10. See #​3086 and #​3090


What's Changed

Full Changelog: StackExchange/StackExchange.Redis@2.13.1...2.13.10

v2.13.1

Compare Source

IMPORTANT: This release changes the default protocol from RESP2 to RESP3 for Azure Managed Redis endpoints (only); this
has scalability and feature advantages, but if you are using modules or ad-hoc commands, please see the RESP3 notes, which includes:

  • the purpose of RESP3
  • scenarios where RESP2 vs RESP3 may be visible
  • how to explicitly choose to remain on RESP2
  • notes on additional libraries such as NRedisStack

What's Changed

Full Changelog: StackExchange/StackExchange.Redis@2.12.27...2.13.1

v2.12.14

Compare Source

What's Changed

Impact: "high" if using cluster and high-integrity-mode together (resolves an issue that can mis-report -MOVED responses as integrity failures)

NuGet link

New Contributors

Full Changelog: StackExchange/StackExchange.Redis@2.12.8...2.12.14

v2.12.8

Compare Source

What's Changed

Full Changelog: StackExchange/StackExchange.Redis@2.12.4...2.12.8

v2.12.4

Compare Source

What's Changed

Full Changelog: StackExchange/StackExchange.Redis@2.12.1...2.12.4

v2.12.1

Compare Source

What's Changed

Full Changelog: StackExchange/StackExchange.Redis@2.11.8...2.12.1

v2.11.8

Compare Source

What's Changed
New Contributors

Full Changelog: StackExchange/StackExchange.Redis@2.11.3...2.11.8

v2.11.3

Compare Source

What's Changed

Full Changelog: StackExchange/StackExchange.Redis@2.11.0...2.11.3

v2.11.0

Compare Source

get 2.11.0 on NuGet

What's Changed

For Redis 8.6:

The time-series changes for 8.6 are over in NRedisStack 1.3.0

Other features:
Internal bits:

New Contributors

Full Changelog: StackExchange/StackExchange.Redis@2.10.14...2.11.0


Configuration

📅 Schedule: (in timezone Asia/Shanghai)

  • Branch creation
    • "before 5:00am,before 10am,before 3pm,before 8pm"
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants