a little riak book
<pre name="code" class="python">#!/bin/bash # Riak HTTP interface stays true to their intent: 1xx Informational, 2xx Success, # 3xx Further Action, 4xx Client Error, 5xx Server Error ### put PORT=10018 url=http://localhost:$PORT/riak case $1 in -1 ) echo "Nothing" ;; ## put 1 ) curl -v -X PUT $curl/food/favorite \ -H 'Content-Type: text/plain' \ -d 'pizza' ;; ## get 2 ) curl -i -v -X GET $url/food/favorite ;; ## POST --> with POST a key is optional, All it require is a bucket name , and ## it will generate a key you 3 ) curl -i -X POST $url/people \ -H 'Content-Type: application/json' \ -d '{"name": "aaron"}' ;; ## for any kind of write, you can add the returnbody=true parameter to force a value return, ## 和值相關的頭, 如X-Riak-Vclock, ETa這些都會被返回. ## post 也支援returnbody, get 會自己主動返回body。body才是內容,okey 4 ) curl -i -X POST $url/people \ -H 'Content-Type: application/json' \ -d '{"name": "billy"}' ;; ## Delete: ## 1 . 刪除一個已經被刪除的物件在Riak中會被表示為deleted,能夠打一個 tombstone 標籤。
然後, ## 一個死神程序會被呼叫。這個程序會以後臺的方式清理掉這些marked objs(可能的話,死神程序因該 ## 關掉), ## 2. 有兩點需注意: ## A) 在Riak中。刪除的操作與屬於一個寫的操作,在計算讀寫比率時候,也因該這樣考慮 ## B) 檢查一個存在的key並不能說明他相應的物件是否存在,由於你可能讀到的key可能是在'刪除和 ## 備份的期間',所以你必需要讀到 tombstones為止。才幹說明一個key已被刪除了 5 ) curl -i -X POST $url/people/test \ -H 'Content-Type: application/json' \ -d '{"name": "billy"}' echo "==========" curl -i $url/people/test?returnbody=true echo "-----------" curl -i -X DELETE $url/people/test ;; ## Lists -> Riak有兩種不同lists。第一種列出叢集中的全部buckets,另外一種會依據指定的buckets列出全部的key,呼叫的方式類似,都是傳入兩個引數 6 ) curl -i $url?buckets=true echo "" echo "===================" curl -i $url/food?keys=true echo "" echo "-------------------" ;; ## Lists 也能夠流的方式傳輸 7 ) curl -v $url/food?
list=stream ;; esac