8.18
top
← prev up next →

memcachedπŸ”— i

Jay McCarthy <jay@racket-lang.org>

This package provides an interface to memcached.

1Low level InterfaceπŸ”— i

At the moment, only a low-level interface is provided.

procedure

( memcached-pool? x)boolean?

x:any/c
Identifies memcached pool structures.

procedure

( memcached ipport......)memcached-pool?

ip:string?
Establishes TCP connections to the specified servers at the respective ports. However, only the first connection is used.

This function should be modified to support UDP connections and its internals should be adapted to use all connections in the recommended way.

value

key? :contract?

Corresponds to bytes? .

value

value? :contract?

Corresponds to bytes? .

value

cas? :contract?

Corresponds to bytes? guaranteed to be 8 bytes long.

value

uint4? :contract?

Corresponds to exact-nonnegative-integer? .

value

uint8? :contract?

Corresponds to exact-nonnegative-integer? .

value

empty-cas :cas?

The null CAS, suitable for use when the CAS is unknown or when you don’t care.

procedure

k:key?
Retrieves the key’s value and CAS.

procedure

k
v
[ #:expirationexp
#:cascas])(or/c false/c cas? )
k:key?
v:value?
exp:uint4? =0
Sets the key to the value with the expiration time if the CAS is still the same, returning the new CAS.

procedure

( memcached-add! mpkv[#:expirationexp])(or/c false/c cas? )

k:key?
v:value?
exp:uint4? =0
Sets the key to the value with the expiration time if it is not bound, returning the new CAS.

procedure

k
v
[ #:expirationexp
#:cascas])(or/c false/c cas? )
k:key?
v:value?
exp:uint4? =0
Sets the key to the value with the expiration time if the CAS is still the same and it is bound, returning the new CAS.

procedure

( memcached-delete! mpk[#:cascas])boolean?

k:key?
Deletes the key if the CAS is still the same.

procedure

[ #:amountamt
#:initialinit
#:expirationexp
#:cascas])(or/c false/c uint8? )
k:key?
amt:uint8? =1
init:false/c =#f
exp:uint4? =0
Increments the key’s value by the amount with the expiration time if the CAS is still the same and it is bound, returning the new value as an integer.

procedure

[ #:amountamt
#:initialinit
#:expirationexp
#:cascas])(or/c false/c uint8? )
k:key?
amt:uint8? =1
init:false/c =#f
exp:uint4? =0
Decrements the key’s value by the amount with the expiration time if the CAS is still the same and it is bound, returning the new value as an integer.

These two functions have a more restrictive contract on the initial value than the API because I do not understand them enough to decide if the contract should be uint8? or value? .

procedure

( memcached-append! kv[#:cascas])(or/c false/c cas? )

k:key?
v:value?
Appends the value to the key’s current value if the CAS is still the same, returning the new CAS.

procedure

( memcached-prepend! kv[#:cascas])(or/c false/c cas? )

k:key?
v:value?
Prepends the value to the key’s current value if the CAS is still the same, returning the new CAS.

top
← prev up next →

AltStyle γ«γ‚ˆγ£γ¦ε€‰ζ›γ•γ‚ŒγŸγƒšγƒΌγ‚Έ (->γ‚ͺγƒͺγ‚ΈγƒŠγƒ«) /