module Roma::Client::Plugin::MapCount
MapCount
plugin module for ROMA client
Public Instance Methods
countup (for JSON value)
- key
-
key to count up data
- sub_keys
-
sub keys to count up. You can set String 'sk', or Array ['sk1','sk2','sk3'], or Hash {'sk1' => 1, 'sk2' => 3} .
- expt
-
expire seconds. This param format is same as
RomaClient.set
. - return
-
result values. It is Marshal format string.
# File lib/roma/client/plugin/mapcount.rb 51 def mapcount_countup(key, sub_keys, expt = 0) 52 sub_keys_str = sub_keys_to_req_str(sub_keys) 53 ret = sender(:value_list_receiver, key, nil, 54 "mapcount_countup %s %d %d\r\n%s\r\n", 55 expt.to_i, sub_keys_str.length, sub_keys_str) 56 convert_ret_to_result(ret, :json) 57 end
countup (for Marshal value)
- key
-
key to count up data
- sub_keys
-
sub keys to count up. You can set String 'sk', or Array ['sk1','sk2','sk3'], or Hash {'sk1' => 1, 'sk2' => 3} .
- expt
-
expire seconds. This param format is same as
RomaClient.set
. - return
-
result values. It is Marshal format string.
# File lib/roma/client/plugin/mapcount.rb 68 def mapcount_countup_ms(key, sub_keys, expt = 0) 69 sub_keys_str = sub_keys_to_req_str(sub_keys) 70 ret = sender(:value_list_receiver, key, nil, 71 "mapcount_countup_ms %s %d %d\r\n%s\r\n", 72 expt.to_i, sub_keys_str.length, sub_keys_str) 73 convert_ret_to_result(ret, :marshal) 74 end
get mapcount (for JSON value)
- key
-
key to get mapcount data
- sub_keys
-
array to get mapcount data subkeys. subkey can't include “,” and “:”
- return
-
result values hash. If data is not set, return empty hash.
# File lib/roma/client/plugin/mapcount.rb 17 def mapcount_get(key, sub_keys = nil) 18 sub_keys_str = sub_keys_to_req_str(sub_keys) 19 20 ret = sender(:value_list_receiver, key, nil, 21 "mapcount_get %s 0 %d\r\n%s\r\n", 22 sub_keys_str.length, sub_keys_str) 23 convert_ret_to_result(ret, :json) 24 end
get mapcount (for Marshal value)
- key
-
key to get mapcount data
- sub_keys
-
array to get mapcount data subkeys. subkey can't include “,” and “:”
- return
-
result values hash. If data is not set, return empty hash.
# File lib/roma/client/plugin/mapcount.rb 33 def mapcount_get_ms(key, sub_keys = nil) 34 sub_keys_str = sub_keys_to_req_str(sub_keys) 35 36 ret = sender(:value_list_receiver, key, nil, 37 "mapcount_get_ms %s 0 %d\r\n%s\r\n", 38 sub_keys_str.length, sub_keys_str) 39 convert_ret_to_result(ret, :marshal) 40 end
update key expire (for JSON value)
# File lib/roma/client/plugin/mapcount.rb 77 def mapcount_update(key, sub_keys = nil, expt = 0) 78 sub_keys_str = sub_keys_to_req_str(sub_keys) 79 ret = sender(:value_list_receiver, key, nil, 80 "mapcount_update %s %d %d\r\n%s\r\n", 81 expt.to_i, sub_keys_str.length, sub_keys_str) 82 convert_ret_to_result(ret, :json) 83 end
update key expire (for Marshal value)
# File lib/roma/client/plugin/mapcount.rb 86 def mapcount_update_ms(key, sub_keys = nil, expt = 0) 87 sub_keys_str = sub_keys_to_req_str(sub_keys) 88 ret = sender(:value_list_receiver, key, nil, 89 "mapcount_update_ms %s %d %d\r\n%s\r\n", 90 expt.to_i, sub_keys_str.length, sub_keys_str) 91 convert_ret_to_result(ret, :marshal) 92 end
Private Instance Methods
# File lib/roma/client/plugin/mapcount.rb 95 def convert_ret_to_result(ret, stype) 96 if ret.empty? 97 return nil 98 end 99 100 if stype == :marshal 101 res = Marshal.load(ret[0]) 102 else 103 res = JSON.parse(ret[0]) 104 end 105 106 if res["last_updated_date"] 107 res["last_updated_date"] = Time.parse(res["last_updated_date"]) 108 end 109 res 110 end
# File lib/roma/client/plugin/mapcount.rb 112 def sub_keys_to_req_str(sub_keys) 113 sub_keys_str = '' 114 if sub_keys.is_a?(String) 115 sub_keys_str = sub_keys 116 elsif sub_keys.is_a?(Array) 117 sub_keys_str = sub_keys.join(',') 118 elsif sub_keys.is_a?(Hash) 119 sub_keys_str = sub_keys.map{|k,v| "#{k}:#{v}"}.join(",") 120 end 121 sub_keys_str 122 end