Ecosyste.ms: OpenCollective

An open API service for software projects hosted on Open Collective.

github.com/redis/rueidis

A fast Golang Redis client that supports Client Side Caching, Auto Pipelining, Generics OM, RedisJSON, RedisBloom, RediSearch, etc.
https://github.com/redis/rueidis

feat: add rueidis.Nil

b39f995ed349d8ce569238b5a956885b0c4d486c authored about 2 years ago by Rueian <[email protected]>
perf: reduce 90% of RedisResult memory allocation while delegating to RedisMessage

5d32787f1345a898859d2f328bc6ac2c6d8d4ad3 authored about 2 years ago by Rueian <[email protected]>
perf: move flush delay after WaitForWrite() to be more reactive

0758427fdee967e899ba64b0b2d87cfd13294a13 authored about 2 years ago by Rueian <[email protected]>
doc: link MaxFlushDelay to https://github.com/rueian/rueidis/issues/156

4be3a21d6e8a242c040d3dde5a49ddd4e295f283 authored about 2 years ago by Rueian <[email protected]>
use configured maxFlushDelay value

Co-authored-by: Rueian <[email protected]>

6979ab1ba0056e7afa35d8a732003bd2a5572def authored about 2 years ago by FZambia <[email protected]>
add MaxFlushDelay option

Co-authored-by: Rueian <[email protected]>

343f40e8f80a955503de344e3b7de2d2ea2049fc authored about 2 years ago by FZambia <[email protected]>
Merge pull request #155 from rueian/embed-client-side-ttl

feat: embed client side ttl into client side caching response

4c04568717329d8b18bc21a23bdd009cf6d12ab0 authored about 2 years ago by Rueian <[email protected]>
doc: mention CacheTTL() in README

68c6de5ef0017810c92003098d4970871984f962 authored about 2 years ago by Rueian <[email protected]>
perf: reduce time.Now() invocations in lru cache

441b5610c1138b9b874f7837358d9be02dffa147 authored about 2 years ago by Rueian <[email protected]>
feat: embed client side ttl into client side caching response

5b3c044ed068b9b43af68106a327bcb31144b5a9 authored about 2 years ago by Rueian <[email protected]>
perf: avoid w in mux.pipe() to be escaped and causing unnecessary allocation

3a79eff109ef162a2bc3acaa7a6ccf23b3c8c8ff authored about 2 years ago by Rueian <[email protected]>
feat: add AlwaysPipelining option

ba8001dce31d760731fcbcb105f76b6be2f88464 authored about 2 years ago by Rueian <[email protected]>
Merge pull request #154 from rueian/sync-mode-ping

feat: ping redis proactively even when not pipelining

aad31d327a714acc0a138569451ae5175888bf05 authored about 2 years ago by Rueian <[email protected]>
feat: ping redis proactively even when not pipelining, reduce unnecessary pings by checking the `recvs` counter

ce1c2cf939630145549b3455ee07dc1afcfea0d8 authored about 2 years ago by Rueian <[email protected]>
perf: apply fieldalignment

d3b3668edeb0bd038cf2d839170d3d0be1373995 authored about 2 years ago by Rueian <[email protected]>
test: fix mocked response in the TestNewRESP2Pipe case

0e02e52b727872dc400edd07718f87790b1b40de authored about 2 years ago by Rueian <[email protected]>
feat: trim ERR prefix of redis error message to accommodate `ERR NOSCRIPT` message from kvrocks

e0b466d32a46e56d9d0b1537831922e08f511119 authored about 2 years ago by Rueian <[email protected]>
feat: refine RESP version detection to support kvrocks 2.2.0

9e18fa61686f5c83e12575906e554c182cfa674e authored about 2 years ago by Rueian <[email protected]>
feat: not reset mux if the underlying pipe is closed in purpose

3748f2ed1b8aad549c11d1e257fc86343e7e254d authored about 2 years ago by Rueian <[email protected]>
Merge pull request #151 from rueian/improve-reconnect

feat: reset mux if the underlying pipe is closed

7706577f6825ecf543c8b44c5a07e682b7c3e5a7 authored about 2 years ago by Rueian <[email protected]>
feat: reset mux if the underlying pipe is closed

a9189831218ef1b6679fa8715588981c9d1ecee7 authored about 2 years ago by Rueian <[email protected]>
perf: avoid taking locks on message notifications if not using Client.Receive()

991128e30d8243dd08e7924b623b29e37c9e92b7 authored about 2 years ago by Rueian <[email protected]>
feat: add mock.MatchFn to resolve #146

5a37e467504d10f30894aa2fb411549e0e52584c authored about 2 years ago by Rueian <[email protected]>
Merge pull request #147 from rueian/best-effort-unsubscribe

perf: best-effort wildcard unsubscribe notification handling

9cfcaa4de9492879ec9e5d9ef6d7016376b56759 authored about 2 years ago by Rueian <[email protected]>
perf: avoid taking locks on unsubscribe notifications if not using Client.Receive()

5190386958ece777a7c28abcdf577c0bde52ae52 authored about 2 years ago by Rueian <[email protected]>
perf: best-effort wildcard unsubscribe notification handling instead of tracking all subscribed channels

2008f036b31beadc0054e81a886b403053e2588e authored about 2 years ago by Rueian <[email protected]>
feat: add WithSlotCheck option to mock.NewClient

b8bedf617f4f6d4b8d6e0c6cec8609918e6491f6 authored about 2 years ago by Rueian <[email protected]>
test: upload coverage to codecov

cfb3f32790a39b50e2a352920172aed7e5be1ddf authored about 2 years ago by Rueian <[email protected]>
Merge pull request #144 from rueian/csc-enhancement

CSC enhancement

65f967c0e9edc2097d5edf9bb2730e1aee6ae9aa authored about 2 years ago by Rueian <[email protected]>
feat: use ErrDoCacheAborted to distinguish aborted EXEC and not existing keys

fae0db9ddcf3eb65ed20b7c5a09043058fae7dfa authored about 2 years ago by Rueian <[email protected]>
refactor: rename store to kc

2c7d4179c8b2baa664b260e666b1ff6fcb55b033 authored about 2 years ago by Rueian <[email protected]>
perf: reduce lru memory consumption and remove unnecessary lookup by storing reference in each entry instead of original key string

9ad678ebde1c962a31ddd0ef3b850c4558dfc947 authored about 2 years ago by Rueian <[email protected]>
fix: lru entry leak by looking up the lru again under lock

069b77ae8a904701d1a70957b21f627eabebdd2d authored about 2 years ago by Rueian <[email protected]>
Merge pull request #140 from rueian/fix-sentinel-select-db

fix: #138 select db on sentinel

2d84b3ce34c335f39933ce02d7a89aef280e8cd8 authored about 2 years ago by Rueian <[email protected]>
fix: #138 select db on sentinel

89c02f2db2cd602c269ae7b8dabd91dd9162a16f authored about 2 years ago by Rueian <[email protected]>
refactor: cache cancellation handling style

83afc6a3b19fea82a4d76ef3f86336138f5d4d40 authored about 2 years ago by Rueian <[email protected]>
feat: respect request ctx in DoCache singleflight

121d5bf34785327ce869c56b7e83304420bbadd6 authored about 2 years ago by Rueian <[email protected]>
fix: cache list nil dereference

07ca9ea170f7c06ff633babda064a71df58238d4 authored about 2 years ago by Rueian <[email protected]>
refactor: cache closed with nil map

a9f77d0aaa46111f6c6c8b9117ed9979a45208c6 authored about 2 years ago by Rueian <[email protected]>
Merge pull request #123 from lgtm-migrator/codeql

Add CodeQL workflow for GitHub code scanning

ed7e7bb1607e426f84b787ebd455dd7d14dc0b73 authored about 2 years ago by Rueian <[email protected]>
Add CodeQL workflow for GitHub code scanning

472ade81f455f9b3e6e6234a75f9b9e1e467b332 authored about 2 years ago by LGTM Migrator <[email protected]>
test: upload coverage in dockertest.sh

3574955885870d8ba683350c6fe7c61772bde916 authored about 2 years ago by Rueian <[email protected]>
doc: rueidis/mock DoMulti example

22ed2c3b06ab88f6e37360f3db207ccdd6d714f8 authored about 2 years ago by Rueian <[email protected]>
fix: #120 interface assertion in the matcher of rueidis/mock

2c696305deec6a49546ff14cc3c0bba2b2a6080e authored about 2 years ago by Rueian <[email protected]>
test: use buildkite instead of circlrci

0d9670cbea464928b0302cda700bfc28b963875b authored about 2 years ago by Rueian <[email protected]>
feat: FT.CREATE field options

9c44b337119885c625a59f0378be0198bd942cf4 authored about 2 years ago by Rueian <[email protected]>
fix: possible goroutine leak in Close() and reduce busy loops

be657c6b585bb5db2ecfc18f9c17eced5b180735 authored about 2 years ago by Rueian <[email protected]>
test: wait pipe to be closed in tests

e5ff53f136096097ab382552de7cf9537b42822a authored about 2 years ago by Rueian <[email protected]>
feat: allow EVAL_RO/EVALSHA_RO without keys and args, add TIMEOUT to GRAPH.QUERY

8f35beb21356896eb3f57799c80389086c4212e8 authored about 2 years ago by Rueian <[email protected]>
Merge pull request #117 from rueian/om-save-multi

feat: om Repository.SaveMulti to batch saving multiple om records

16e4a39c38866ebbd210a2f271ebbb5ae7694ed7 authored about 2 years ago by Rueian <[email protected]>
feat: om Repository.SaveMulti to batch saving multiple om records

9835aeb2cd9a4b521e4d0b984c5bea113bd8cee7 authored about 2 years ago by Rueian <[email protected]>
feat: Lua.ExecMulti to batch EVALSHA

7436a2207572214179b10a8a30946004c2b933ad authored about 2 years ago by Rueian <[email protected]>
feat: om.Arbitrary allows user to build arbitrary command in om.CreateIndex

c67c6e8489e779471c670c2a78abb7d3fbe86cd0 authored about 2 years ago by Rueian <[email protected]>
Merge pull request #114 from rueian/avoid-background-ping-stuck

fix: stucked background ping when its ring is full

1a5623412360f5fc21e1be8c803f2d5f71f5a201 authored about 2 years ago by Rueian <[email protected]>
fix: stucked background ping when its ring is full

8a3e53ebd097fe383a7c9a590868269714c81a3a authored about 2 years ago by Rueian <[email protected]>
Merge pull request #113 from rueian/fix-shutdown-deadlock-ring-full

fix: shutdown deadlock of pipe when its ring is full (#108)

53b7d6a359a9d401783e0574716cf07c356474a6 authored about 2 years ago by Rueian <[email protected]>
fix: shutdown deadlock of pipe when its ring is full (#108)

b26c3bada71d8eac685e38f10219acc71e59548b authored about 2 years ago by Rueian <[email protected]>
feat: allow passing VECTOR parameters in FT.CREATE

9153856a78cb67a1bf4d3fad7711f91c934c4d14 authored about 2 years ago by Rueian <[email protected]>
test: improve flasky test of redislock

bf07e9239b1a30dec516c49c978bd3819398ae35 authored about 2 years ago by Rueian <[email protected]>
test: longer circleci timeout

1db4f3c942c96560b3af77e01319f519f88378ae authored about 2 years ago by Rueian <[email protected]>
doc: rueidishook

2f0b7aaaad17913f9fb415ab179bdc33c1232b50 authored about 2 years ago by Rueian <[email protected]>
Merge pull request #105 from rueian/rueidishook

feat: rueidishook

1c49fddf66517bbb09f5c5625c06ef89de1c07df authored about 2 years ago by Rueian <[email protected]>
doc: rueidishook

a1d73be7cf6fc602f4ec0aa9d802cc95a11436cd authored about 2 years ago by Rueian <[email protected]>
test: rueidishook

d481c78d2ee23f286ac8a6fb0c74c4a339730925 authored about 2 years ago by Rueian <[email protected]>
feat: rueidishook

7c4f084dcc0359acb12df408c0d2d5ff74c83351 authored about 2 years ago by Rueian <[email protected]>
doc: broadcast mode client-side caching

58bbd5a1df87401c683349e2d76245b336b39051 authored about 2 years ago by Rueian <[email protected]>
feat: make FT.AGGREGATE's ASC/DESC be optional, resolves #102

bc353007b133b7ed9489ba4e660b03691ca2b19f authored about 2 years ago by Rueian <[email protected]>
test: improve rueidiscompat test coverage

4d57ee42feae22b703be416150ecf2a691beb2dd authored about 2 years ago by Rueian <[email protected]>
fix: MIGRATE command, improve rueidiscompat test coverage

aca06b2a482c9065305aff6c6ce7ee25398116cd authored about 2 years ago by Rueian <[email protected]>
test: kvrocks with looser single client fallback condition

e9eff473f725ff0ea616748ed75dcf8f5a3c58fa authored about 2 years ago by Rueian <[email protected]>
test: with KeyDB and DragonflyDB

6d20b4c22ec37ed5b59838d1097b495a4be05b48 authored about 2 years ago by Rueian <[email protected]>
feat: update most recently released redis modules

c2b5739b1a7312e41cef288b06ab953ca290128e authored about 2 years ago by Rueian <[email protected]>
perf: simplify version check of redis 6's broken invalidation workaround

d1372b97156d32007696f450f1ccd4d91e9a022e authored about 2 years ago by Rueian <[email protected]>
feat: pubsub and sentinel in resp2

defba736b89d5ce25cc3a1a21986d00316ecd11f authored about 2 years ago by Rueian <[email protected]>
fix: FT.SEARCH SORTBY parsing in om.NewJSONRepository

aa0a257cfc6cb4dc3bd3d7a5eb6d335d1a49ac11 authored about 2 years ago by Rueian <[email protected]>
doc: rueidis mock

61f8c5134c93eb095b844cc78814658c2018d048 authored over 2 years ago by Rueian <[email protected]>
feat: rueidis mock

09c7d503ab6dd5a7da9fdb3bbc58458985d4596b authored over 2 years ago by Rueian <[email protected]>
feat: redis 7.0.5 client tracking NOLOOP with lua in rueidislock

28ab1a08c9f96629aa1115a9b313230227fee0f0 authored over 2 years ago by Rueian <[email protected]>
feat: set rueidislock's default option.ExtendInterval to be half of option.KeyValidity

ddad3983b2b74390bc6ae4aff2b15b3758a86156 authored over 2 years ago by Rueian <[email protected]>
refactor: remove unnecessary atomic operation and prettify var in rueidislock

f0b4f4ae1f3a35ed7b98e182913a0984c8a05224 authored over 2 years ago by Rueian <[email protected]>
doc: update readme of rueidislock

0040bf86e85cd81e8d57b1fe37ba5d74f72848d3 authored over 2 years ago by Rueian <[email protected]>
doc: reword about RESP2 support

d8b3c480369dbdf815290a6929389d498cadc566 authored over 2 years ago by Rueian <[email protected]>
doc: update example of rueidislock

4e05ea133690ebeb22317268370fb91d9c1893b3 authored over 2 years ago by Rueian <[email protected]>
doc: rueidislock

eda577b68cbc8a4cbfe45724e404321880869bfb authored over 2 years ago by Rueian <[email protected]>
feat: client side caching in rueidislock

b6cdc482fce69cf08196f815e593e94bc4731ecc authored over 2 years ago by Rueian <[email protected]>
feat: set default option.TryNextAfter to 20ms

bfa18dd2c523a29e5fda3166425d8c318d3a1360 authored over 2 years ago by Rueian <[email protected]>
feat: wait rueidislock to be cleaned when canceled

7dc7d125f2ce2b7bc8f4ba6d536a54dd024b935d authored over 2 years ago by Rueian <[email protected]>
feat: add option.ClientBuilder to rueidislock

12a309e0abe2e573a0c443e6a947aca262cbfdb2 authored over 2 years ago by Rueian <[email protected]>
feat: add TryWithContext to rueidislock

9ef2930d1db74ffcc6b0095c559bec70cc5fddf8 authored over 2 years ago by Rueian <[email protected]>
refactor: remove sync.cond in rueidislock

3d467aaf7985d76881a476892ed6e1e8c3c94071 authored over 2 years ago by Rueian <[email protected]>
feat: add option.TryNextAfter to rueidislock

fbc4759d20dfa526d50a1fb4b9ea22056f4e0178 authored over 2 years ago by Rueian <[email protected]>
feat: add rueidislock module

f34223aa64817412314cccf05c4c3686d854b0c3 authored over 2 years ago by Rueian <[email protected]>
feat: add ClientTrackingOptions to change client side caching behavior

fd781a3a561b0edc00aa92b95a10b713b24fe9b5 authored over 2 years ago by Rueian <[email protected]>
feat: add otel to Client.Nodes()

22c47e5334c20197f7cf95cf9f49f26032bc5031 authored over 2 years ago by Rueian <[email protected]>
feat: trigger OnInvalidations when pipe is closed

90910314a8488747ff0b7620784fc0eaae65e4e4 authored over 2 years ago by Rueian <[email protected]>
fix: ClientOption.PipelineMultiplex with negative value

44bc10b9735d9a0fa0639f49b21f313095c83746 authored over 2 years ago by Rueian <[email protected]>
fix: rueidiscompat's CommandInfo int8 conversions

805ecf1e8433b53563cc1f7de105b3a2bdadefb2 authored over 2 years ago by Rueian <[email protected]>
fix: rueidiscompat's CommandInfo int8 conversions

285d87348cac5aa56f404a7f4b5f210bfa198fe9 authored over 2 years ago by Rueian <[email protected]>
feat: make sure client-side caching is disabled in RESP2

74c56c282ca37f656e678b73b583b2841959e8c9 authored over 2 years ago by Rueian <[email protected]>
feat: fallback to single client if CLUSTER SLOTS is not allowed

8863942bbad882368c1c3f8fabe056f7072fc8ed authored over 2 years ago by Rueian <[email protected]>