Skip to content

Commit

Permalink
Using command pool
Browse files Browse the repository at this point in the history
  • Loading branch information
tung.tq committed Oct 9, 2023
1 parent 77aa069 commit 8b081a5
Show file tree
Hide file tree
Showing 3 changed files with 14 additions and 5 deletions.
2 changes: 1 addition & 1 deletion go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ module github.com/QuangTung97/memproxy
go 1.19

require (
github.com/QuangTung97/go-memcache v1.1.1-0.20231009043749-091455df521e
github.com/QuangTung97/go-memcache v1.1.1-0.20231009064511-4f8302dc7878
github.com/google/btree v1.1.2
github.com/matryer/moq v0.3.0
github.com/mgechev/revive v1.3.1
Expand Down
4 changes: 2 additions & 2 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@ github.com/BurntSushi/toml v1.2.1 h1:9F2/+DoOYIOksmaJFPw1tGFy1eDnIJXg+UHjuD8lTak
github.com/BurntSushi/toml v1.2.1/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ=
github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo=
github.com/GoogleCloudPlatform/cloudsql-proxy v0.0.0-20190129172621-c8b1d7a94ddf/go.mod h1:aJ4qN3TfrelA6NZ6AXsXRfmEVaYin3EDbSPJrKS8OXo=
github.com/QuangTung97/go-memcache v1.1.1-0.20231009043749-091455df521e h1:0vYOE1uUlHimjZUmD1RNnRaAYMHDkbQkQs+4M+tJe2s=
github.com/QuangTung97/go-memcache v1.1.1-0.20231009043749-091455df521e/go.mod h1:bInH+oopFx83sRE0DaLVuXc6t3c6DsapM3Y7B7IUpOg=
github.com/QuangTung97/go-memcache v1.1.1-0.20231009064511-4f8302dc7878 h1:lsuqm/3HYytjRogPD7+rHPnWM5DfFlHM7XRxW23aRNg=
github.com/QuangTung97/go-memcache v1.1.1-0.20231009064511-4f8302dc7878/go.mod h1:bInH+oopFx83sRE0DaLVuXc6t3c6DsapM3Y7B7IUpOg=
github.com/aclements/go-gg v0.0.0-20170118225347-6dbb4e4fefb0/go.mod h1:55qNq4vcpkIuHowELi5C8e+1yUHtoLoOUR9QU5j7Tes=
github.com/aclements/go-moremath v0.0.0-20210112150236-f10218a38794 h1:xlwdaKcTNVW4PtpQb8aKA4Pjy0CdJHEqvFbAnvR5m2g=
github.com/aclements/go-moremath v0.0.0-20210112150236-f10218a38794/go.mod h1:7e+I0LQFUI9AXWxOfsQROs9xPhoJtbsyWcjJqDd4KPY=
Expand Down
13 changes: 11 additions & 2 deletions plain_memcache.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ package memproxy

import (
"context"

"github.com/QuangTung97/go-memcache/memcache"
)

Expand Down Expand Up @@ -90,12 +91,20 @@ func (p *plainPipelineImpl) LowerSession() Session {

// LeaseGet ...
func (p *plainPipelineImpl) LeaseGet(key string, _ LeaseGetOptions) func() (LeaseGetResponse, error) {
fn := p.pipeline.MGet(key, memcache.MGetOptions{
result, getErr := p.pipeline.MGetFast(key, memcache.MGetOptions{
N: p.leaseDuration,
CAS: true,
})
if getErr != nil {
return func() (LeaseGetResponse, error) {
return LeaseGetResponse{}, getErr
}
}

return func() (LeaseGetResponse, error) {
mgetResp, err := fn()
mgetResp, err := result.Result()
memcache.ReleaseMGetResult(result)

if err != nil {
return LeaseGetResponse{}, err
}
Expand Down

0 comments on commit 8b081a5

Please sign in to comment.