Module: Counter::Cache::Credis::InstanceMethods
- Defined in:
- lib/counter/cache/credis/counter.rb
Instance Method Summary collapse
-
#increase_counter(column = 'views_count') ⇒ Object
增加.
-
#reduce_counter(column = 'views_count') ⇒ Object
减低.
Instance Method Details
#increase_counter(column = 'views_count') ⇒ Object
增加
34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
# File 'lib/counter/cache/credis/counter.rb', line 34 def increase_counter(column = 'views_count') redis = RedisCli.new counter_redis = redis.get("#{self.class.table_name}/#{column}#{self.id}").to_i counter_redis = 0 if !counter_redis counter_redis += 1 if counter_redis >= column_delay[column] # 计算出总读数 views_count_temp = counter_redis + (self.send(column) || 0) counter_redis = 0 self.send("#{column}=", views_count_temp) self.save end redis.set("#{self.class.table_name}/#{column}#{self.id}", counter_redis) end |
#reduce_counter(column = 'views_count') ⇒ Object
减低
51 52 53 54 55 56 57 |
# File 'lib/counter/cache/credis/counter.rb', line 51 def reduce_counter(column = 'views_count') redis = RedisCli.new counter_redis = redis.get("#{self.class.table_name}/#{column}#{self.id}").to_i counter_redis = 0 if !counter_redis counter_redis -= 1 redis.set("#{self.class.table_name}/#{column}#{self.id}", counter_redis) end |