class LessStruct::Entity::RedisBase
Public Class Methods
check()
click to toggle source
# File lib/less_struct/entity/redis_base.rb, line 15 def check LessStruct::Entity::RedisCheck.call end
redis()
click to toggle source
# File lib/less_struct/entity/redis_base.rb, line 19 def redis @redis ||= if ENV["LESS_STRUCT_REDIS_URL"] ::Redis.new(url: ENV["LESS_STRUCT_REDIS_URL"]) elsif ::Redis.current ::Redis.current else ::Redis.new end end
Private Class Methods
_from_store_format(_store_format)
click to toggle source
# File lib/less_struct/entity/redis_base.rb, line 51 def _from_store_format(_store_format) unless config_redis_format_json_y Marshal.load(_store_format) else hash = JSON.parse(_store_format) # hash = LessStruct::Util::Time.deep_restore_time_in_hac(hash) new(hash) end end
all()
click to toggle source
# File lib/less_struct/entity/redis_base.rb, line 47 def all redis.scan_each(match: "#{kind}:*").to_a end
clear_impl()
click to toggle source
# File lib/less_struct/entity/redis_base.rb, line 40 def clear_impl redis.scan_each(match: "#{kind}:*") do |key| puts "clear key #{key}" if use_debug_y redis.del(key) end end
delete_impl(id)
click to toggle source
# File lib/less_struct/entity/redis_base.rb, line 36 def delete_impl(id) redis.del(key(kind, id)) end
find_impl(id)
click to toggle source
# File lib/less_struct/entity/redis_base.rb, line 31 def find_impl(id) return unless _store_format = redis.get(key(kind, id)) _from_store_format(_store_format) end
Private Instance Methods
_add_info()
click to toggle source
# File lib/less_struct/entity/redis_base.rb, line 78 def _add_info return unless klass.config_redis_meta_info_y self.redis_duration = klass.config_redis_duration self.redis_set_at = Time.at(now.to_i).utc self.redis_end_at = redis_duration > 0 ? Time.at(now.to_i + redis_duration).utc : nil end
_save_as_redis_entity()
click to toggle source
# File lib/less_struct/entity/redis_base.rb, line 86 def _save_as_redis_entity if klass.config_redis_duration > 0 klass.redis.setex key, klass.config_redis_duration, _to_store_format else klass.redis.set key, _to_store_format end end
_to_store_format()
click to toggle source
# File lib/less_struct/entity/redis_base.rb, line 70 def _to_store_format unless klass.config_redis_format_json_y Marshal.dump(self) else self.to_json end end
save_impl()
click to toggle source
# File lib/less_struct/entity/redis_base.rb, line 64 def save_impl _add_info _save_as_redis_entity self end