mirror of
https://github.com/hanzokv/go.git
synced 2026-09-24 00:31:51 +00:00
We do not use Redis. The client was a go-redis fork and still said so
everywhere: `package redis`, `redis.NewClient`, `redis://`, `extra/redisotel`.
Consumers wrote `redis.Client` against a Valkey-backed store called KV.
package redis -> package kv (93 decls)
redis.X -> kv.X (2,794 call sites)
"redis: …" errors -> "kv: …" (206)
extra/redis{otel,cmd,prometheus,census} -> extra/kv{otel,cmd,prometheus,census}
redis:// , rediss:// -> kv:// , kvs:// (ParseURL)
Redis*/*Redis* idents -> KV*/*KV*
REDIS_VERSION, REDIS_ENDPOINTS_CONFIG_PATH -> KV_*
I previously argued this rename was unsafe because much of it was "wire
contract". That was wrong, and the categorisation shows why: RESP command names
are GET/SET/HSET — they never contain the word. Of 5,771 occurrences only two
kinds were server-visible at all: the ParseURL scheme (we choose what we pass;
our configs already use kv://) and the CLIENT SETINFO lib-name label, which the
server merely records. Nothing here changes a byte of protocol.
Two things deliberately keep the old spelling:
RediSearch — names a specific external module the FT.* commands map to.
StoreDist — contains the letters by accident (sto-reDis-t), not the word.
Breaking for consumers by design: every import site must move redis.X -> kv.X.
Minor bump, never a major — this module stays v9 forever.
33 lines
669 B
Go
33 lines
669 B
Go
package kvcmd
|
|
|
|
import (
|
|
"testing"
|
|
|
|
. "github.com/bsm/ginkgo/v2"
|
|
. "github.com/bsm/gomega"
|
|
)
|
|
|
|
func TestGinkgo(t *testing.T) {
|
|
RegisterFailHandler(Fail)
|
|
RunSpecs(t, "kvext")
|
|
}
|
|
|
|
var _ = Describe("AppendArg", func() {
|
|
DescribeTable("...",
|
|
func(src string, wanted string) {
|
|
b := appendArg(nil, src)
|
|
Expect(string(b)).To(Equal(wanted))
|
|
},
|
|
|
|
Entry("", "-inf", "-inf"),
|
|
Entry("", "+inf", "+inf"),
|
|
Entry("", "foo.bar", "foo.bar"),
|
|
Entry("", "foo:bar", "foo:bar"),
|
|
Entry("", "foo bar", "foo bar"),
|
|
Entry("", "foo{bar}", "foo{bar}"),
|
|
Entry("", "foo-123_BAR", "foo-123_BAR"),
|
|
Entry("", "foo\nbar", "666f6f0a626172"),
|
|
Entry("", "\000", "00"),
|
|
)
|
|
})
|