Skip to content(if available)orjump to list(if available)

Show HN: Pogocache – Fast caching software

stevelacy

Congrats on launching! Was following along with the development, glad to see it launched

tidwall

Thanks Steve. Your feedback was very helpful.

jasonthorsness

The README doesn’t seem to explain _why_ it is faster. Is it just highly hand-optimized? Is there some main technique used?

tidwall

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.

simonw

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

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

Always great to see his open-source creations, like:

- a Redis like cache purpose built for real-time spatial locations: https://tile38.com/

- go package for reading JSON: https://github.com/tidwall/gjson

Imustaskforhelp

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

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

Is the name related to Tadej Pogacar?

cedricium

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.

nodesocket

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

That's the only way right now. The other ways I'm considering is with an environment variable and/or acl.

sureglymop

May I suggest the ability to specific a path to a file that it is then read from.

SquidJack

very nice