Class: QasDockGem::RedisService
- Inherits:
-
Object
- Object
- QasDockGem::RedisService
- Defined in:
- lib/qas_dock_gem/services/redis_services.rb
Instance Method Summary collapse
- #get_key_redis(key) ⇒ Object
-
#initialize ⇒ RedisService
constructor
A new instance of RedisService.
- #initialize_redis ⇒ Object
- #set_key_redis(key, value, ttl) ⇒ Object
Constructor Details
#initialize ⇒ RedisService
Returns a new instance of RedisService.
5 6 7 8 9 |
# File 'lib/qas_dock_gem/services/redis_services.rb', line 5 def initialize require 'logger' require 'redis' @logger = Logger.new($stdout) end |
Instance Method Details
#get_key_redis(key) ⇒ Object
24 25 26 27 28 29 30 31 32 33 |
# File 'lib/qas_dock_gem/services/redis_services.rb', line 24 def get_key_redis(key) @logger.info("Buscando chave #{key} no Redis") @redis = initialize_redis if @redis.nil? begin @redis.get(key) rescue StandardError => e @logger.error("Exceção retornada do redis ao consultar a chave: #{e}") nil end end |
#initialize_redis ⇒ Object
11 12 13 14 15 16 17 18 19 20 21 22 |
# File 'lib/qas_dock_gem/services/redis_services.rb', line 11 def initialize_redis redis_params = { host: $env_lib['uri_redis'], port: 6379, connect_timeout: 0.5, read_timeout: 1.0, write_timeout: 1.0 } @redis = Redis.new(redis_params) # Realiza a tentativa de conexão com o redis com os params informados begin @redis.ping @redis rescue StandardError => e @redis = nil @logger.error("Params Redis: #{JSON.pretty_generate(JSON.parse(redis_params.to_json))}") @logger.error("Exceção retornada do Redis: #{e.inspect} - Mensagem: #{e.message}") end end |
#set_key_redis(key, value, ttl) ⇒ Object
35 36 37 38 39 40 41 42 43 44 45 |
# File 'lib/qas_dock_gem/services/redis_services.rb', line 35 def set_key_redis(key, value, ttl) @logger.info("Cadastrando chave #{key} com valor: #{value} e tempo de duração: #{ttl}") @redis = initialize_redis if @redis.nil? begin set_redis = @redis.set(key, value, ex: ttl) @logger.info('Chave cadastrada com sucesso no redis') if set_redis == 'OK' rescue StandardError => e @logger.error("Exceção retornada do redis ao cadastrar a chave: #{e}") nil end end |