Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
branch: master
Commits on Nov 8, 2014
  1. Address an allocation TODO in the default ServerSelector.

    And add a special case for only 1 server.
    Minor win, in any case.
    benchmark                      old ns/op     new ns/op     delta
    BenchmarkPickServer            262           234           -10.69%
    BenchmarkPickServer_Single     253           139           -45.06%
    benchmark                      old allocs     new allocs     delta
    BenchmarkPickServer            1              0              -100.00%
    BenchmarkPickServer_Single     1              0              -100.00%
    benchmark                      old bytes     new bytes     delta
    BenchmarkPickServer            8             0             -100.00%
    BenchmarkPickServer_Single     8             0             -100.00%
  2. misc style tweaks

Commits on Oct 6, 2014
  1. Fix README mistakes.

Commits on May 26, 2014
  1. Merge pull request #22 from gpaul/master

    go vet: remove unreachable code
  2. Gustav Paul

    go vet: remove unreachable code

    gpaul authored
Commits on May 17, 2014
  1. Merge pull request #7 from robfig/master

    Add the replace operation
  2. Kenny

    Added DeleteAll() method

    kennygrant authored committed
  3. Just use net.Error

  4. Merge pull request #16 from freelancer/master

    Fix for bug that can cause leaked goroutines
  5. Merge pull request #12 from craigmj/master

    Touch Support
  6. use Skipf

  7. Add explicit LICENSE file.

Commits on Mar 7, 2014
Commits on Jan 29, 2014
  1. Craig Mason-Jones

    flush_all support

    craigmj authored
Commits on Jan 21, 2014
  1. bronze1man


    bronze1man authored
Commits on Nov 14, 2013
  1. Nick Davies
Commits on Nov 13, 2013
  1. Nick Davies
Commits on Nov 11, 2013
  1. Merge pull request #15 from garyburd/patch-1

    Update documentation link in
  2. Gary Burd
Commits on Sep 24, 2013
  1. Merge pull request #13 from asim/master

    Fix connection leak. Use net.Addr.String() as freeconn map key.
Commits on Sep 9, 2013
  1. Fix connection leak. Use net.Addr.String() as freeconn map key. When …

    Asim Aslam authored
    …the function SetServers is called the ServerList is replaced by a new set of net.Addr interfaces which no longer match those used as keys for the freeconn map. The underlying data structure is usually a TCPaddr or UnixAddr pointer. Go's equality operation on the map keys looks at the underlying pointer and thinks they are not the same so continues to create new connections assuming it does not have any free.
Commits on Sep 2, 2013
  1. Craig Mason-Jones
Commits on Sep 1, 2013
  1. Craig Mason-Jones
  2. Craig Mason-Jones

    Added TOUCH support

    craigmj authored
Commits on May 8, 2013
  1. Merge pull request #10 from d2fn/master

    parse headers with or without a cas id (for kestrel, etc)
  2. Dietrich Featherston
Commits on Mar 4, 2013
  1. Rob Figueiredo

    go fmt

    robfig authored
  2. Rob Figueiredo

    Add Replace operation

    robfig authored
Commits on Dec 19, 2012
  1. Merge pull request #5 from jgrahamc/master

    Fixed a bug where a bad connection gets reused
  2. John Graham-Cumming

    Close connections that are being discarded

    jgrahamc authored
    If a TCP connection to memcache is not being returned to the free list (because an error
    has occurred on the connection and its reuse is not allowed), explicitly close the
  3. John Graham-Cumming

    Fix a problem where an error in onItem could result in a bad connecti…

    jgrahamc authored
    …on being reused
    If an error occurs inside the fn() that onItem calls it would have not been spotted by
    condRelease() and that could result in a bad connection being placed back in the
    pool of free connections. Under load the package was experiencing this problem manifested
    in the following fashion:
      1. A connection gets an i/o timeout during a call to onItem()
      2. The error returned by the function called by onItem() is placed in a new
         err value (because of the :=) but the condRelease() has been set up with
         &err from a previous declaration of err. Therefore err is nil.
      3. condRelease() places the connection back in the free list.
      4. The connection is reused at some point and there's data waiting to be read
         from the previous memcache command that got the i/o timeout. This results
         in (typically) an error from the Sscanf line at line 405 because that line
         ends up trying to parse part of the response that was not previously read
         because of the i/o timeout.
    This fix prevents this from happening. If an error occurs the connection will not be
Commits on Oct 6, 2012
  1. Merge pull request #4 from codemartial/master

    Replace 'goinstall' with 'go get'.
Commits on Aug 14, 2012
  1. Tahir Hashmi

    Replaced 'goinstall' with 'go get'

    codemartial authored
    It seems like 'goinstall' is now 'go get', but getting that piece of information from web search is not too easy. Hope this would save other n00bs' time.
Commits on Jan 24, 2012
  1. use SetDeadline

Something went wrong with that request. Please try again.