Preview: Managed Upstash Redis with read replica support

Ah yes, this is pretty much what I was asking for, was this added recently? I totally missed this.

Thanks!

Backups arenā€™t available yet. Weā€™ve been discussing it internally. Were you already using this with Upstash Redis?

I had never used Upstash before, so no. And Iā€™m not storing anything important in there at the moment so itā€™s not a big deal for me. Iā€™m mostly wondering whether or not I could start storing sensitive data at some point :smile:

If it helps, Upstash databases are already ā€˜highly availableā€™: there are at least two full copies in your database primary region.

It would be great to revisit the pricing a bit. I have several small apps with low usage, but I have to pay for two redises more (20$) than I do pay for a whole fleet of nodes and pg (16$).

Iā€™d be happy with 100Mb instances for 5$ or so.

1 Like

This is interesting. I assume that you couldnā€™t use the 100MB free Redis plan because you can only provision one per organization?

Yes, the UI says I can only have a single 100Mb instance.

What about using the same Redis instance with different databases?

Mr Perham does not recommend it:

Donā€™t use environment-specific prefixes. Each environment should use a separate Redis database altogether, otherwise all of your environments will share the same retry and scheduled sets and chaos will likely ensue.

In this case, Iā€™m referring to using a different internal Redis database, not namespaces. see Mikeā€™s post about this: Storing Data with Redis | Mike Perham

As as you donā€™t need different eviction policies for each db, this approach should work.

1 Like

Wow, didnā€™t mind about using different databases, thank you, will try it!

No, it does not work. Looks like Upstash does not allow to have more than 1 database even in 200Mb plan:

āÆ fly redis connect 
? Select a database to connect to redis (fra) personal
Proxying local port 16379 to remote [fdaa:0::0:1::6]:6379
127.0.0.1:16379> select 1
(error) ERR Only 0th database is supported! Selected DB: 1
127.0.0.1:16379> 

Yes, youā€™re right - at the moment using namespaces would be the only way.

So weā€™re getting back to initial question. There should be some option for small apps.

Upstash has plans to support multiple databases, and weā€™re considering adding either usage-based pricing or smaller plans. No ETA yet though.

2 Likes

Thatā€™s sad.

I donā€™t understand what Iā€™m paying 10$ for. For this? I didnā€™t even get a single timeout in several years with Heroku.
What a shame.

Thatā€™s easy to fix. Our infrastructure connects you through a load balancer. Connections timeout after 60s of inactivity. Just configure your driver to either reconnect on timeout, or send a PING every so often.

Timeouts should actually only happen on idle connections after 24 hours. What is the actual frequency of timeouts youā€™re seeing right now @rozhok?

Related to the original question: weā€™ll likely soon introduce a pay-as-you-go payment plan for Upstash Redis which would serve your needs. That plan would take into account Sidekiqā€™s busy design and ignore commands with empty replies.

I see youā€™ve lowered prices for redis. Great to see it, thank you!