struct Cache::RedisStore(K, V)

Overview

A cache store implementation which stores data in Redis.

cache = Cache::RedisStore(String, String).new(expires_in: 1.minute)
cache.fetch("today") do
  Time.now.day_of_week
end

This assumes Redis was started with a default configuration, and is listening on localhost, port 6379.

You can connect to Redis by instantiating the Redis class.

If you need to connect to a remote server or a different port, try:

redis = Redis.new(host: "10.0.1.1", port: 6380, password: "my-secret-pw", database: "my-database")
cache = Cache::RedisStore(String, String).new(expires_in: 1.minute, cache: redis)

Defined in:

cache/stores/redis_store.cr

Constructors

Instance Method Summary

Instance methods inherited from struct Cache::Store(K, V)

fetch(key : K, &) fetch, initialize initialize

Constructor methods inherited from struct Cache::Store(K, V)

new new

Constructor Detail

def self.new(expires_in : Time::Span, cache : Redis = Redis.new) #

[View source]

Instance Method Detail

def fetch(key : K, &) #
Description copied from struct Cache::Store(K, V)

Fetches data from the cache, using the given key. If there is data in the cache with the given key, then that data is returned.

If there is no such data in the cache, then a block will be passed the key and executed in the event of a cache miss.


[View source]
def read(key : K) #

[View source]
def write(key : K, value : V, *, expires_in = @expires_in) #

[View source]