class RailsKvsDriver::Base
This abstract class wrap accessing to Key-Value Store. @abstract
Attributes
@attr @driver_config [Hash] config of driver.
{ :host => 'localhost', # host of KVS. :port => 6379, # port of KVS. :namespace => 'Example', # namespace of avoid a conflict with key :timeout_sec => 5, # timeout seconds. :pool_size => 5, # connection pool size. :config_key => :none, # this key is option.(defaults=:none) # when set this key. # will refer to a connection-pool based on config_key, # even if driver setting is the same without this key. }
@attr @kvs_instance [Object] instance of KVS.
Public Class Methods
connect with driver config. @param driver_config
[Hash] driver config. @return [Object] instance of key-value store. @abstract connect with driver config. and return instance of kvs.
# File lib/rails_kvs_driver.rb, line 33 def self.connect(driver_config) raise NoMethodError end
Public Instance Methods
add sorted set to kvs. when the key doesn’t exist, it’s made newly. @note same as sorted set of redis. refer to redis.
@param key [String] key of sorted set. @param member [String] member of sorted set. @param score [Float] score of sorted set. @return [Boolean] result. @abstract add sorted set to kvs.
# File lib/rails_kvs_driver.rb, line 208 def add_sorted_set(key, member, score) raise NoMethodError end
count value of the list. when the key doesn’t exist, return 0.
@param key [String] key of the list. @return [Integer] number. @abstract count value of the list.
# File lib/rails_kvs_driver.rb, line 87 def count_list_value(key) raise NoMethodError end
count members of sorted set @note same as sorted set of redis. refer to redis.
@param key [String] key of sorted set. @return [Integer] members num. when doesn’t exist key, return nil @abstract count members of sorted set. when doesn’t exist key, return nil
# File lib/rails_kvs_driver.rb, line 218 def count_sorted_set_member(key) raise NoMethodError end
delete key from kvs. @return [Boolean] result. @abstract delete key from kvs.
# File lib/rails_kvs_driver.rb, line 64 def delete(key) raise NoMethodError end
delete all keys from kvs. @return [Boolean] result. @abstract delete all keys from kvs.
# File lib/rails_kvs_driver.rb, line 71 def delete_all raise NoMethodError end
delete value from list.
@param key [String] key of the list. @param value [String] delete value. @abstract delete value from list.
# File lib/rails_kvs_driver.rb, line 96 def delete_list_value(key, value) raise NoMethodError end
delete at index from list.
@param key [String] key of the list. @param index [Integer] index of the list. @abstract delete at index from list.
# File lib/rails_kvs_driver.rb, line 105 def delete_list_value_at(key, index) raise NoMethodError end
get string value from kvs. @param key [String] key. @return [String] value. when doesn’t exist, nil @abstract get value from kvs. when doesn’t exist, nil
# File lib/rails_kvs_driver.rb, line 41 def get(key) raise NoMethodError end
get all keys of existed list.
@return [Array<String>] keys. @abstract get all keys of existed list.
# File lib/rails_kvs_driver.rb, line 113 def get_list_keys raise NoMethodError end
get value from index of the list. when the key doesn’t exist, return nil.
@param key [String] key of the list. @param index [Integer] index of the list. @return [String] value. @abstract get value from index of the list.
# File lib/rails_kvs_driver.rb, line 124 def get_list_value(key, index) raise NoMethodError end
get values from index of the list. @example get_list_value
(:key) => get all. @example get_list_value
(:key, 5, 10) => 5~10 return total 6 values.
@param key [String] key of the list. @param start [Integer] start index of the list. @param stop [Integer] end index of the list. @return [Array<String>] value. @abstract get values from index of the list.
# File lib/rails_kvs_driver.rb, line 137 def get_list_values(key, start=0, stop=-1) raise NoMethodError end
get array of sorted set. @note same as sorted set of redis. refer to redis.
@param key [String] key of sorted set. @param start [Integer] start index @param stop [Integer] stop index @param reverse [Boolean] order by desc. @return [Array<String, Float>>] array of the member and score. when doesn’t exist, nil. @abstract get array of sorted set. when doesn’t exist, nil.
# File lib/rails_kvs_driver.rb, line 231 def get_sorted_set(key, start=0, stop=-1, reverse=false) raise NoMethodError end
get all sorted_set keys. @return [Array<String>] array of key names. when doesn’t exist keys, return Array of length 0. @abstract get all keys from kvs.(only having sorted_set), when doesn’t exist keys, return Array of length 0.
# File lib/rails_kvs_driver.rb, line 238 def get_sorted_set_keys raise NoMethodError end
get the score of member. @note same as sorted set of redis. refer to redis.
@param key [String] key of sorted set. @param member [String] member of sorted set. @return [Float] score of member. when doesn’t exist key or member, nil. @abstract get the score of member. when doesn’t exist key or member, nil.
# File lib/rails_kvs_driver.rb, line 249 def get_sorted_set_score(key, member) raise NoMethodError end
increment score of member from sorted set. @note same as sorted set of redis. refer to redis.
@param key [String] key of sorted set. @param member [String] member of sorted set. @param score [Float] increment score. @return [Float] value after increment. when doesn’t exist key or member, create. @abstract increment score of member from sorted set. when doesn’t exist key or member, create.
# File lib/rails_kvs_driver.rb, line 261 def increment_sorted_set(key, member, score) raise NoMethodError end
get all keys from kvs. @return [Array<String>] array of key names. @abstract get all keys from kvs.(only having string value)
# File lib/rails_kvs_driver.rb, line 57 def keys raise NoMethodError end
pop value from first of the list. when the key doesn’t exist or is empty. return nil.
@param key [String] key of the list. @return [String] value of the key. @abstract pop value from first of the list.
# File lib/rails_kvs_driver.rb, line 169 def pop_list_first(key) raise NoMethodError end
pop value from first of the list. when the key doesn’t exist or is empty. return nil.
@param key [String] key of the list. @return [String] value of the key. @abstract pop value from last of the list.
# File lib/rails_kvs_driver.rb, line 179 def pop_list_last(key) raise NoMethodError end
push value to first of the list. when the key doesn’t exist, it’s made newly list.
@param key [String] key of list. @param value [String] push value. @return [Integer] length of list after push. @abstract push value to first of the list.
# File lib/rails_kvs_driver.rb, line 148 def push_list_first(key, value) raise NoMethodError end
push value to last of the list. when the key doesn’t exist, it’s made newly list.
@param key [String] key of list. @param value [String] push value. @return [Integer] length of list after push. @abstract push value to last of the list.
# File lib/rails_kvs_driver.rb, line 159 def push_list_last(key, value) raise NoMethodError end
remove sorted set from kvs. This function doesn’t delete a key. @note same as sorted set of redis. refer to redis.
@param key [String] key of sorted set. @param member [String] member of sorted set. @return [Boolean] result. when doesn’t exist key or member, false. @abstract remove sorted set from kvs. when doesn’t exist key or member, do nothing.
# File lib/rails_kvs_driver.rb, line 273 def remove_sorted_set(key, member) raise NoMethodError end
set string value to kvs. @param key [String] key. @param value [String] value. @return [Boolean] result @abstract set value to kvs.
# File lib/rails_kvs_driver.rb, line 50 def set(key, value) raise NoMethodError end
set value to index of the list.
@param key [String] key of the list. @param index [Integer] index of the list. @param value [String] set value. @abstract set value to index of the list.
# File lib/rails_kvs_driver.rb, line 189 def set_list_value(key, index, value) raise NoMethodError end