From cccc2be5ceb804d342723b594568d5a8e1785830 Mon Sep 17 00:00:00 2001 From: Artem Napolskih Date: Fri, 17 Oct 2014 08:49:18 +0600 Subject: [PATCH] feature(unique_values_list): rename Standard and Fast unique values list to Blocking and NonBlocking respectively --- README.md | 12 ++++++------ lib/redis_counters.rb | 4 ++-- .../unique_values_lists/{standard.rb => blocking.rb} | 2 +- .../unique_values_lists/{fast.rb => non_blocking.rb} | 2 +- spec/redis_counters/unique_hash_counter_spec.rb | 6 +++--- .../{standard_spec.rb => blocking_spec.rb} | 2 +- .../{fast_spec.rb => non_blicking_spec.rb} | 2 +- 7 files changed, 15 insertions(+), 15 deletions(-) rename lib/redis_counters/unique_values_lists/{standard.rb => blocking.rb} (99%) rename lib/redis_counters/unique_values_lists/{fast.rb => non_blocking.rb} (98%) rename spec/redis_counters/unique_values_lists/{standard_spec.rb => blocking_spec.rb} (98%) rename spec/redis_counters/unique_values_lists/{fast_spec.rb => non_blicking_spec.rb} (66%) diff --git a/README.md b/README.md index dc1c84f..0431072 100644 --- a/README.md +++ b/README.md @@ -141,7 +141,7 @@ redis: {:company_id => 2, :city_id=>"10", :value=>4} ``` -## RedisCounters::UniqueValuesLists::Standard +## RedisCounters::UniqueValuesLists::Blocking Список уникальных значений, с возможностью кластеризации и партиционирования значений. @@ -162,7 +162,7 @@ redis: Простой список уникальных пользователей. ```ruby -counter = RedisCounters::UniqueValuesLists::Standard.new(redis, { +counter = RedisCounters::UniqueValuesLists::Blocking.new(redis, { :counter_name => :users, :value_keys => [:user_id] }) @@ -177,7 +177,7 @@ redis: Список уникальных пользователей, посетивших компаниию, за месяц, кластеризованный по суткам. ```ruby -counter = RedisCounters::UniqueValuesLists::Standard.new(redis, { +counter = RedisCounters::UniqueValuesLists::Blocking.new(redis, { :counter_name => :company_users_by_month, :value_keys => [:company_id, :user_id], :cluster_keys => [:start_month_date], @@ -199,14 +199,14 @@ redis: company_users_by_month:2013-09-01:2013-09-05 = ['1:22'] ``` -## RedisCounters::UniqueValuesLists::Fast +## RedisCounters::UniqueValuesLists::NonBlocking Быстрый список уникальных значений, с возможностью кластеризации и партиционирования значений. Скорость работы достигается за счет следующих особенностей: - Использует 2х объема памяти для хранения элементов, при использовании партиционирования. -Eсли партиционирование не используется, то расход памяти такой-же как у UniqueValuesLists::Standard. +Eсли партиционирование не используется, то расход памяти такой-же как у UniqueValuesLists::Blocking. - Не транзакционен - сторонний блок, выполняемый после добавления уникального элемента, выполняется за пределами транзакции, в которой добавляется уникальный элемент. - Не ведется список партиций. @@ -233,7 +233,7 @@ counter = RedisCounters::UniqueHashCounter.new(redis, { :group_keys => [:company_id], :partition_keys => [:date], :unique_list => { - :list_class => RedisCounters::UniqueValuesLists::Standard + :list_class => RedisCounters::UniqueValuesLists::Blocking :value_keys => [:company_id, :user_id], :cluster_keys => [:start_month_date], :partition_keys => [:date] diff --git a/lib/redis_counters.rb b/lib/redis_counters.rb index 96891cb..b3638aa 100644 --- a/lib/redis_counters.rb +++ b/lib/redis_counters.rb @@ -4,8 +4,8 @@ require 'redis_counters/hash_counter' require 'redis_counters/unique_hash_counter' require 'redis_counters/unique_values_lists/base' -require 'redis_counters/unique_values_lists/standard' -require 'redis_counters/unique_values_lists/fast' +require 'redis_counters/unique_values_lists/blocking' +require 'redis_counters/unique_values_lists/non_blocking' require 'active_support/core_ext' diff --git a/lib/redis_counters/unique_values_lists/standard.rb b/lib/redis_counters/unique_values_lists/blocking.rb similarity index 99% rename from lib/redis_counters/unique_values_lists/standard.rb rename to lib/redis_counters/unique_values_lists/blocking.rb index 86d2750..ee3c20f 100644 --- a/lib/redis_counters/unique_values_lists/standard.rb +++ b/lib/redis_counters/unique_values_lists/blocking.rb @@ -14,7 +14,7 @@ module UniqueValuesLists # * Ведет список партиций; # * Полностью транзакционен. - class Standard < Base + class Blocking < Base PARTITIONS_LIST_POSTFIX = :partitions # Public: Нетранзакционно удаляет данные конкретной конечной партиции. diff --git a/lib/redis_counters/unique_values_lists/fast.rb b/lib/redis_counters/unique_values_lists/non_blocking.rb similarity index 98% rename from lib/redis_counters/unique_values_lists/fast.rb rename to lib/redis_counters/unique_values_lists/non_blocking.rb index c5ac3d3..7d8a605 100644 --- a/lib/redis_counters/unique_values_lists/fast.rb +++ b/lib/redis_counters/unique_values_lists/non_blocking.rb @@ -16,7 +16,7 @@ module UniqueValuesLists # или воспользоваться методами delete_all! или delete_all_direct!, # для удаления всех партиций кластера включая основную. - class Fast < UniqueValuesLists::Base + class NonBlocking < UniqueValuesLists::Base # Public: Нетранзакционно удаляет все данные счетчика в кластере, включая основную партицию. # Если кластеризация не используется, то удаляет все данные. diff --git a/spec/redis_counters/unique_hash_counter_spec.rb b/spec/redis_counters/unique_hash_counter_spec.rb index 1e18cb8..3f8248a 100644 --- a/spec/redis_counters/unique_hash_counter_spec.rb +++ b/spec/redis_counters/unique_hash_counter_spec.rb @@ -7,7 +7,7 @@ let(:options) { { :counter_name => :test_counter, :field_name => :test_field, - :unique_list => { :list_class => RedisCounters::UniqueValuesLists::Standard } + :unique_list => { :list_class => RedisCounters::UniqueValuesLists::Blocking } } } let(:counter) { described_class.new(redis, options) } @@ -18,7 +18,7 @@ :field_name => 'dd', :partition_keys => [:date], :unique_list => { - :list_class => RedisCounters::UniqueValuesLists::Fast, + :list_class => RedisCounters::UniqueValuesLists::NonBlocking, :value_keys => [:sid], :cluster_keys => [:p1], :partition_keys => [:p2] @@ -49,7 +49,7 @@ :group_keys => [:param1], :partition_keys => [:date], :unique_list => { - :list_class => RedisCounters::UniqueValuesLists::Standard, + :list_class => RedisCounters::UniqueValuesLists::Blocking, :value_keys => [:sid], :cluster_keys => [:param2], :partition_keys => [:date] diff --git a/spec/redis_counters/unique_values_lists/standard_spec.rb b/spec/redis_counters/unique_values_lists/blocking_spec.rb similarity index 98% rename from spec/redis_counters/unique_values_lists/standard_spec.rb rename to spec/redis_counters/unique_values_lists/blocking_spec.rb index 886765a..2881036 100644 --- a/spec/redis_counters/unique_values_lists/standard_spec.rb +++ b/spec/redis_counters/unique_values_lists/blocking_spec.rb @@ -1,6 +1,6 @@ require 'spec_helper' -describe RedisCounters::UniqueValuesLists::Standard do +describe RedisCounters::UniqueValuesLists::Blocking do it_behaves_like 'unique_values_lists/common' it_behaves_like 'unique_values_lists/set' diff --git a/spec/redis_counters/unique_values_lists/fast_spec.rb b/spec/redis_counters/unique_values_lists/non_blicking_spec.rb similarity index 66% rename from spec/redis_counters/unique_values_lists/fast_spec.rb rename to spec/redis_counters/unique_values_lists/non_blicking_spec.rb index 243a8b2..e20e1ed 100644 --- a/spec/redis_counters/unique_values_lists/fast_spec.rb +++ b/spec/redis_counters/unique_values_lists/non_blicking_spec.rb @@ -1,6 +1,6 @@ require 'spec_helper' -describe RedisCounters::UniqueValuesLists::Fast do +describe RedisCounters::UniqueValuesLists::NonBlocking do it_behaves_like 'unique_values_lists/common' it_behaves_like 'unique_values_lists/set' end \ No newline at end of file