class AboutYou::SDK::CacheProvider::Redis

This class is used as an interface for cache operations. It is used when caching with Redis.

author

Collins GmbH & Co KG

Attributes

client[RW]

an instance of the cache client.

Public Class Methods

new(client) click to toggle source

the Constructor for the Redis class

# File lib/AboutYou/CacheProvider/redis.rb, line 25
def initialize(client)
  self.client = client
end

Public Instance Methods

delete(key) click to toggle source

This method is used for deleting cache entries with Redis.

  • Args :

    • key -> The key of the cache entry

  • Returns :

    • True/False determining whether the deletion was successful or not

# File lib/AboutYou/CacheProvider/redis.rb, line 68
def delete(key)
  client.del(key)
end
exists(key) click to toggle source

This method is used for checking whether a cache entry exists or not with Redis.

  • Args :

    • key -> The key of the cache entry

  • Returns :

    • True/False determining whether the key exists in the cache or not

# File lib/AboutYou/CacheProvider/redis.rb, line 81
def exists(key)
  client.exists(key)
end
get(key) click to toggle source

This method is used for getting cache entries with Redis.

  • Args :

    • key -> The key of the cache entry

  • Returns :

    • Either the value for the given key or nil if the key was not found

# File lib/AboutYou/CacheProvider/redis.rb, line 55
def get(key)
  JSON.parse(client.get(key))
end
set(key, value, duration) click to toggle source

This method is used for setting new cache entries with Redis.

  • Args :

    • key -> The key of the cache entry

    • value -> The value of the cache entry

    • duration -> the duration of the cache entry

  • Returns :

    • True/False determining whether the setting was successful of not

# File lib/AboutYou/CacheProvider/redis.rb, line 40
def set(key, value, duration)
  value = value.to_json unless value.is_a?(String)
  client.set(key, value)
  client.expire(key, duration)
end