1

In some of my applications access to Redis seems to become a bottleneck. Currently there are two ways to make access more efficient. Pipelining and accessing Unix sockets instead of TCP.

But isn't there in even more efficient way to access it? More like a library, like when you are dealig with BDB or Toky Cabinet? Or maybe something else.

0

1 Answer 1

1

If redis is a bottleneck, you probably have something quite wrong with either your configuration or the type of query you are using. Some things to check:

  • using MGET will be a lot faster than several GET commands - minimize the number of separate requests
  • use threading and multiple connections - a single connection has to wait for one command to return before it can process the next. If the second command is unrelated, it should not have to wait.
  • Make sure you have VM and saving configured correctly - if something is set up wrong, red is can end up using system virtual memory, which really kills performance.
Sign up to request clarification or add additional context in comments.

2 Comments

Well, I use these things. It's not Redis itself being slow, but the overhead of the (TCP/Unix) interface becomes a problem in applications where you update a lot small data sets, but have to block in SOME situations.
It's fairly unusual to be working with a dataset that is both large enough to make redis seem slow and impossible to parallellize. If you really have that, you may find the scripting branch useful.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.