2013-10-10 21 views
1

早上好,實施ICacheClient時禁用所有緩存

我們有一個使用緩存的服務堆棧實現。

我們可以之間切換:

  • Redis的
  • Memcached的
  • 在內存

,因爲它們都實現ICacheClient。我們通過更改web.config中的緩存設置節點來更改正在使用的緩存。

我的問題是,我如何去切換配置設置爲「緩存:無」例如。

我想我可以讓自己的CacheClient實現ICacheClient,它實際上什麼都不做,只是實現了ICacheClient接口,但是這感覺很骯髒和骯髒。

我們希望能夠關閉緩存的理由是​​爲了獲得測試性能的基準線。

感謝 拉斯

回答

4

你將不得不自己NullCacheClient,因爲如果沒有ICacheClient註冊,ServiceStack默認註冊使用內存MemoryCacheClient作爲後備。

+0

感謝@mythz你的意思是我應該用我自己的緩存類NullCacheClient(或類似的東西)來實現ICacheClient,並且如果公共T獲取(字符串鍵)被調用我只是返回一個null? – RuSs

+0

是的,實現你自己的ICacheClient,只有空impls並返回null。 – mythz

+0

謝謝@mythz,效果很好。 – RuSs