clj
clj-xmemcachedClj-xmemcachedisanopensourcememcachedclientforclojurewrappingxmemcached.Xmemcachedisanopensourcehighperformancememcachedclientforjava.
LeiningenUsage
Toincludeclj-xmemcached,add:
toyourproject.clj.
Usage
Createaclient
(use )
(def client (xmemcached “host:port“))
(def client (xmemcached “host1:port1 host2:port2“ :protocol “binary“)) Thenwecreateamemcachedclientusingbinaryprotocoltotalkwithmemcachedservershost1:port1andhost2:port2.
Validoptionsincluding:
:name Client's name :protocol Protocol to talk with memcached,a string value in text,binary or kestrel,default is text protocol. :hash Hash algorithm,a string value in consistent or standard,default is standard hash. :timeout Operation timeout in milliseconds,default is five seconds. :pool Connection pool size,default is one. Storeitems
(xsetclient“key““dennis“)
(xsetclient“key““dennis“100)
(xappendclient“key““zhuang“)
(xprependclient“key““hello,“)
Thevalue100istheexpiretimefortheiteminseconds.Store
functionsincludexset,xadd,xreplace,xappendandxprepend.Pleaseusedoc
toprintdocumentationforthesefunctions.
Getitems
(xget client “key“)
(xget client “key1“ “key2“ “key3“)
(xgets client “key“) xgetsreturnsavalueincludingacasvalue,forexample:
{:value “hello,dennis zhuang“, :class net.rubyeye.xmemcached.GetsResponse, :cas 396} AndbulkgetreturnsaHashMapcontainsexistentitems.
Increase/Decreasenumbers
(xincrclient“num“1)
(xdecrclient“num“1)
(xincrclient“num“10)
Abovecodestrytoincrease/decreaseanumberinmemcachedwithkey“num”,andiftheitemisnotexists,thensetittozero.
Deleteitems
(xdelete client “num“) Compareandset
(xcas client “key“ inc) WeuseincfunctiontoincreasethecurrentvalueinmemcachedandtrytocompareandsetitatmostInteger.MAX_VALUEtimes.
xcascanbecalledas:
(xcas client key cas-fn max-times) Thecas-fnisafunctiontoreturnanewvalue,setthenewvalueto
(cas-fn current-value) Shutdown
(xshutdown client) Flush
(xflush client)
(xflush client (InetSocketAddress. host port)) Statistics
(xstats client)Example
Pleaseseetheexamplecodeinexample/demo.clj
License
Copyright(C)2011-2014denniszhuang
DistributedundertheEclipsePublicLicense,thesameasClojure.
页:
[1]