2
특정 키/비밀 조합에 대해 "foo"객체를 캐시하고 싶습니다. 루비로 어떻게해야합니까?사용자 특정 객체를 캐시하는 방법
require 'foo/api'
foo = Foo::API::Client.new(key, secret)
특정 키/비밀 조합에 대해 "foo"객체를 캐시하고 싶습니다. 루비로 어떻게해야합니까?사용자 특정 객체를 캐시하는 방법
require 'foo/api'
foo = Foo::API::Client.new(key, secret)
캐싱에 사용하는 항목과 원하는 캐쉬 종류에 따라 다릅니다. 캐시 유형에 관계없이 일반적인 절차는 키/암호를 캐시 키의 일부로 사용하는 것입니다.
예를 들어, 메모를 사용합니다.
cache = {}
cache["foo-#{key}:{secret}"] ||= Foo::API::Client.new(key, secret)
모든 클래스 또는 메소드를 래핑 할 수 있습니다. 당신은 파일 캐시 또는 memcached와 캐시와 같은 외부 캐시를 원하는 경우
def client(key, secret)
@clients ||= {}
@clients["client-#{key}:{secret}"] ||= Foo::API::Client.new(key, secret)
end
, 단순히 동일한 기술을 채택하고 키와 비밀번호를 사용하여 캐시 키를 구성한다.
키와 암호가 "secret"문자열 인 경우 SHA 또는 MD5 해시를 계산하여이를 명확한 값이 아닌 키로 사용할 수 있습니다.