module Counter::Cache::Credis::InstanceMethods
Public Instance Methods
increase_counter(column = 'views_count')
click to toggle source
增加
# 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')
click to toggle source
减低
# 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