baiyunjn 发表于 2018-12-25 11:42:14

clj

clj-xmemcached
  Clj-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]
查看完整版本: clj