Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 9052183
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 16, 20262026-06-16T13:06:09+00:00 2026-06-16T13:06:09+00:00

We need to set up a system where multiple processes are working on the

  • 0

We need to set up a system where multiple processes are working on the same dataset. The idea is to have a set of elements (i.e. no repeated values) that can get pulled by our worker processes (asynchronously). The processes may be distributed on several servers, so we need a distributed solution.

Currently, the pattern we are thinking of is using Redis to hold a set, which holds the working data. Each process should connect to the set, and pop a value from it. The random functionality of spop is actually a plus to us, since we need randomized access to the elements in the set. The data would have to be populated from our main PostgreSQL database.

Like I said, we also have a PostgreSQL database available to query, which the processes could access when requesting elements. However, we don’t know if under heavy loads that could be a bottleneck. We do expect heavy – to very heavy concurrent access (think hundreds or even thousands of processes) on this subsystem.

In case it bears any relevance to this, we are using Python with rQ to handle asynchronous tasks (jobs and workers).

Edit: in terms of size, elements can be expected to not be very large – top size should be around 500 – 1000 bytes. They are basically URLs, so unless something strange happens they should be well below that size. The number of elements will be dependent on the number of concurrent processes, so probably about 10 – 50 K elements would be a good ballpark. Bear in mind that this is more of a staging area of sorts, so focus should be more on speed than on size.

My questions, in summary, are:

  1. Is a Redis set a good idea for shared access when using multiple processes? Is there any data that will let us know how that solution will scale? If so, can you provide any pointers or advice?

  2. When populating the shared data, what would be a good update strategy?

Thank you very much!

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-16T13:06:11+00:00Added an answer on June 16, 2026 at 1:06 pm

    Not a full answer, just some thoughts:
    Like it was said, Redis maintains your set in memory, so in order to answer 1 you need to think about or at least estimate a worst case scenario on:

    • how much memory space do you need for each element of the set
    • how many (quantity) elements are a very heavy load

    Once you have an estimate you can calculate and see if it is feasible to use Redis:

    For instance, having elements of 100 bytes and expecting a “very heavy” load of 1.000.000 elements, you will need at least 100MB of memory just for Redis and it is feasible to use it and even cheap.But if you need 500 bytes per element and your heavy load means 30.000.000 elements then you need 15GB of memory, and it’s even doable but maybe too expensive compared to use your postgre db, what leads to the second estimate you need to have:

    • How many requests/second (in total) you will have against your Redis/Postgre server, or how many processes you expect to be making requests and how many/second each process will make.

    Having some estimates can help you decide what solution is the best for your requirements/budget.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I need to develop a client server system where I can have multiple clients
The problem : I have multiple parallel processes that handle flat file records .
I have some part imports that I need to create multiple instances of. By
I have an application running on multiple IIS servers that need to parse a
I need to set up a continuous integration system. We use ClearCase version control
I need to set the default icon that VS uses for the project to
I'm developing some lower end code in my system that uses multiple child classes
I am trying to set up a system where a user can log into
I need to extract data from a third party system (I have no influence
I have an order receipt page auto generated by our system. I need to

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.