Skip to content

Conversation

nihohit
Copy link
Contributor

@nihohit nihohit commented Jul 14, 2025

This benchmark is more stable, and less affected by random OS noise.

@nihohit nihohit added the v1 label Jul 14, 2025
@nihohit nihohit force-pushed the bench branch 10 times, most recently from a7dcc81 to af61f66 Compare July 14, 2025 19:42
nihohit and others added 19 commits July 17, 2025 21:11
* Prepare 1.0.x branch for usage.

* t

* Remove unsafe iterators.
* feat: Make transaction status of pipelines public (redis-rs#1663)

When trying to mock Redis connections, the `ConnectionLike`'s
`req_packed_commands` expects a different response shape on
`transactional` and non-`transactional` pipelines.

(Vec with single entry of Redis array of results, resp. Vec of results)

In order to hide this difference from users, it would be helpful to
check if a pipeline is in transaction mode or not.

To allow this, we make the accessor function public.

Co-authored-by: Christian Aistleitner <[email protected]>

* Pipeline: Add comments explaining offset and count (redis-rs#1664)

Co-authored-by: Christian Aistleitner <[email protected]>

* prevent Smol tasks from being cancelled when dropped.

* Remove deprecated features.

---------

Co-authored-by: somechris <[email protected]>
Co-authored-by: Christian Aistleitner <[email protected]>
This will save users who just want to parse some data from checking for client or server errors.
* Upgrade criterion version.

* increase MSRV

* fix lint
* Make the num-bigint crate optional again.

* Fix no-default-features.

It didn't work because the default features were pulled by redis-test.
* Add TCP settings to sync connections.

* Hide internal structure of ConnectionInfo and RedisConnectionInfo.

This will allow us to modify the structs without breaking users code.

* Remove features that are settable through TcpSettings.

* Fix cache index.

The `cache_cmd_index` value was miscalculated, because all tests that checked it had all features enabled, which implicitly removed the CLIENT SETINFO calls form the pipeline.

* fix broken doc links.

* fix cargo config.

* further limit feature combination tests.

* Remove redis setting helper functions.

* fix docs
* Move command modules to commands folder.

* Move vector sets structs to separate module.
* Move errors to separate modules.

* Clarify type error.

* Fill out  ServerError.

* Use ArcStr in errors, to reduce their size.

* Add ServerError to RedisError variants.

* Add NOPERM error kind.

* Remove repeated variants between ErrorKind and ServerErrorKind.

* Replace some server error kinds with more correct kinds.

* Remove the `ErrorRepr::WithDescription` variant.

It's a repeat of `WithDescriptionAndDetail`.

* Remove `Error` suffix from variants.

* Remove `ErrorRepr::Extension` variant.

It's a repeat of the `ServerError::Extension` variant.

* Ensure internal errors are exposed in `Error::source`.

* Move error constructors to the error modules.

* Allow users to use `ServerError`.

It's already exposed in `Value`, this allows the users to actually use it, too, without exposing its internal implementation.
* Move cluster files to shared directory.

* Move shared logic out of sync connection.

* Split slot map from routing.

* Update cluster routing information.

This is based on the work done in the valkey-glide project for mapping commands and their routing info.
* Move retry_method to server_error.

* Move pipeline response handling to shared function.

* Allow user to receive results or values with server errors per-request.

* Added detailed pipeline error case when user doesn't choose type to RedisResult or Value.

* fix docs

* revert the ability to get all values even on a failure.
* Use ArcStr for cluster node addresses.

This reduces the size of allocations, and removes the implied ability to mutate the addresses.

* Improve map usage in clusters.

Removed some repeated key checks.

* Improve slot parsing.

Remove vector splitting and unnecessary ConnectionAddr creation.

* Use ArcStr in ClusterParams, to reduce size.

* Replace some more usage of String with ArcStr.
We want more users to be aware of the typed traits, in order to save issues like redis-rs#1730.
This benchmark is more stable, and less affected by random OS noise.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant