The README doesn’t seem to explain _why_ it is faster. Is it just highly hand-optimized? Is there some main technique used?
tidwall · 2h ago
Yes, it is highly hand optimized. There's a description of some of the methods I used near the bottom of there README. I mainly focused on minimizing contention, with the sharded hashmap and such. But the networking layer is carefully crafted.
stevelacy · 53m ago
Congrats on launching! Was following along with the development, glad to see it launched
tidwall · 41m ago
Thanks Steve. Your feedback was very helpful.
simonw · 1h ago
I thought I recognized the tidwall name - Josh is also responsible for tg which is a really neat, very tight C geospatial library: https://github.com/tidwall/tg
simonw · 1h ago
Supporting HTTP, Redis and PostgreSQL protocols at the same time is a neat trick!
psql -h localhost -p 9401
=> SET mykey 'my value';
=> GET mykey;
=> DEL mykey;
drewda · 3h ago
Always great to see his open-source creations, like:
- a Redis like cache purpose built for real-time spatial locations: https://tile38.com/
Really looks fascinating.. Might need a deeper dive.
Also.. like, it says that you plan on supporting sql? is this true? What does that actually mean really since I guess it might then compete with things like sqlite/duckdb?
Genuinely curious, great project! Starred!
tidwall · 2h ago
Not intending to make pogocache into a sql database. I prefer keeping it a cache. More so exploring ways to work with existing databases such as sqlite, duckdb, postgres. Kinda like providing proxy-ish operations that transparently cache sql reads.
lormayna · 2h ago
Is the name related to Tadej Pogacar?
cedricium · 1h ago
Hah I had the same question! Thought the project was aptly named if referring to the cycling champ if that’s what it was meant to be.
philipajohnston · 2h ago
+1
tidwall · 2h ago
No
nodesocket · 3h ago
Very interesting. Like the idea of using http, redis, or even PostgreSQL clients.
Is there a way to provide the auth password via an envar instead of a command line arg?
pogocache --auth mypass
tidwall · 3h ago
That's the only way right now. The other ways I'm considering is with an environment variable and/or acl.
sureglymop · 2h ago
May I suggest the ability to specific a path to a file that it is then read from.
- a Redis like cache purpose built for real-time spatial locations: https://tile38.com/
- go package for reading JSON: https://github.com/tidwall/gjson
Also.. like, it says that you plan on supporting sql? is this true? What does that actually mean really since I guess it might then compete with things like sqlite/duckdb?
Genuinely curious, great project! Starred!
Is there a way to provide the auth password via an envar instead of a command line arg?