Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for the binary protocol #54

Open
sontek opened this issue Jun 20, 2015 · 10 comments
Open

Add support for the binary protocol #54

sontek opened this issue Jun 20, 2015 · 10 comments

Comments

@sontek
Copy link
Contributor

sontek commented Jun 20, 2015

https://github.com/memcached/memcached/wiki/BinaryProtocolRevamped

The binary protocol is much faster than the text protocol:

http://www.erikwebb.net/blog/benchmarking-memcached-memslap/

pylibmc already supports this with binary=True

Outside of performance this also allows set_multi to be a real performant call instead of a ton of individual calls.

@edmorley
Copy link

In addition to being faster, the binary protocol is required if using SASL auth (eg with a cloud memcached offering such as Memcachier or Memcached Cloud).

Both pylibmc and python-binary-memcached support the binary protocol, and thus SASL auth.

@jparise
Copy link
Collaborator

jparise commented Aug 19, 2016

I was actually looking at this just the other day. I'll need to spend some time on it, but I think this would be a nice feature to add.

@jparise
Copy link
Collaborator

jparise commented Aug 26, 2016

We use mcrouter extensively at Pinterest, and it unfortunately doesn't support the binary protocol (facebook/mcrouter#6). That makes it less of a priority for us (internal-development-wise), but we'd be happy to accept a patch!

@simonzheng
Copy link

Hey there, just noting that some of your links in this thread are broken (e.g. https://code.google.com/p/memcached/wiki/MemcacheBinaryProtocol in @sontek 's post and @jparise 's mcrouter link)

@jparise
Copy link
Collaborator

jparise commented Apr 13, 2017

@simonzheng: I fixed my link. Thanks!

@sontek
Copy link
Contributor Author

sontek commented Apr 13, 2017

I can fix mine tonight

@derekargueta
Copy link

While it's probably still worth implementing for folks who do use it, the Binary protocol is actually deprecated in favor to the new Meta protocol

https://github.com/memcached/memcached/wiki/ReleaseNotes160

@ferndot
Copy link

ferndot commented Sep 29, 2021

Will this ever be revisited? pymemcache seems like the best library by far, but we can't use it with Heroku + Memcachier without binary protocol support.

@jogo
Copy link
Contributor

jogo commented Sep 30, 2021

Hi @joshua-s, we are happy to merge in a pull request for binary protocol support. As @jparise previously mentioned we wouldn't be able to use it ourselves which is why we haven't implemented it already.

@damjankuznar
Copy link

➕ for this feature

tanaypf9 pushed a commit to tanaypf9/pf9-requirements that referenced this issue May 20, 2024
Patch Set 4:

Looks like pymemcache does not support the binary protocol, so does not support sasl.  (there's another issue for missing ipv6 support)

pinterest/pymemcache#54

looks like this is required for sasl support, sadly  In global-requirements, do you mind adding a comment above the entry stating that it is only required for sasl/binary protocol (so that it can be cleaned up if/when sasl/binary protocol is merged into another 'approved' library).

Patch-set: 4
tanaypf9 pushed a commit to tanaypf9/pf9-requirements that referenced this issue May 20, 2024
Patch Set 4:

> Looks like pymemcache does not support the binary protocol, so does
 > not support sasl.  (there's another issue for missing ipv6 support)
 > 
 > pinterest/pymemcache#54
 > 
 > looks like this is required for sasl support, sadly  In
 > global-requirements, do you mind adding a comment above the entry
 > stating that it is only required for sasl/binary protocol (so that
 > it can be cleaned up if/when sasl/binary protocol is merged into
 > another 'approved' library).

I think this is the best option we can think for the current situation.

Patch-set: 4
Reviewer: Gerrit User 31827 <31827@4a232e18-c5a9-48ee-94c0-e04e7cca6543>
Label: Verified=0
tanaypf9 pushed a commit to tanaypf9/pf9-requirements that referenced this issue May 20, 2024
Patch Set 5: Code-Review+2 Workflow+1

> > Looks like pymemcache does not support the binary protocol, so
 > does
 > > not support sasl.  (there's another issue for missing ipv6
 > support)
 > >
 > > pinterest/pymemcache#54
 > >
 > > looks like this is required for sasl support, sadly  In
 > > global-requirements, do you mind adding a comment above the entry
 > > stating that it is only required for sasl/binary protocol (so
 > that
 > > it can be cleaned up if/when sasl/binary protocol is merged into
 > > another 'approved' library).
 > 
 > I think this is the best option we can think for the current
 > situation.

I agree too

Patch-set: 5
Reviewer: Gerrit User 28522 <28522@4a232e18-c5a9-48ee-94c0-e04e7cca6543>
Label: Code-Review=+2
Label: Workflow=+1
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

8 participants