23 ms·
Show HN: Free, serverless Redis clone on Durable Objects (works w Upstash SDKs)
meowdis gives you an Upstash compatible Redis API that you can deploy yourself on Cloudflare + the Workers free plan gives you 5 GBs of free storage! Supports both single commands and pipelined requests.
Supported Redis commands:
strings: GET, SET, DEL, EXISTS, INCR, INCRBY, DECR, DECRBY, MGET, MSET
expiry: EXPIRE, EXPIREAT, TTL, PTTL, PERSIST
hashes: HGET, HSET, HDEL, HGETALL, HEXISTS, HKEYS, HVALS
lists: LPUSH, RPUSH, LPOP, RPOP, LRANGE, LLEN
sets: SADD, SREM, SMEMBERS, SISMEMBER, SCARD
utility: PING, DBSIZE, FLUSHDB, KEYS
SET options: NX, XX, GET, EX, PX, EXAT, PXAT, KEEPTTL
EXPIRE / EXPIREAT options: NX, XX, GT, LT
LPOP / RPOP options: count
Repository / deployment instructions: https://github.com/zion-off/meowdis https://github.com/zion-off/meowdis
How it works:
1) there’s a compute layer (this can be anything) and a storage layer (a cloudflare durable object instance)
2) you send redis commands to the compute layer using either a) rest b) or upstash sdks (see upstash docs)
3) compute layer translates redis commands to sqlite queries
4) storage layer executes them in a transaction
5)results are returned back to you
post script disclaimer -- this started out as a side project where i was trying to work around fun constriants i made up (serverless, free, etc.). if you try it out and run into problems, bug reports are welcome !!