【问题标题】:Servicestack csharp client vs Redis or both?Servicestack csharp客户端与Redis还是两者兼而有之?
【发布时间】:2018-12-02 16:32:13
【问题描述】:

我想要缓存以最大化响应时间和数据库使用率。我正在尝试确定是否应该在我的新 .netcore 服务 API 中使用 csharp 客户端或 Redis 或两者。在我看来,我应该只使用 Redis。任何人都知道我是否应该出于某种原因同时使用两者?或者,我是否应该只使用服务客户端来处理缓存并忽略 Redis?

http://docs.servicestack.net/csharp-client

https://github.com/ServiceStack/ServiceStack.Redis

【问题讨论】:

    标签: c# servicestack servicestack.redis


    【解决方案1】:

    这两个库是不相关的,C# Service Clients 使 Typed API 能够从 .NET 应用程序访问您的服务,而 ServiceStack.Redis 提供 Typed API 以从 .NET 访问内存数据库中的 Redis。

    您需要什么取决于您的用例,如果您使用负载平衡服务器而不是使用像 Redis 这样的 distributed caching provider,则建议所有负载平衡应用服务器使用相同的分布式缓存和用户会话,如果你只使用一个服务器而不是使用分布式 Redis 缓存不会像默认的内存缓存那样有用。

    C# .NET 服务客户端没有任何内置缓存,为了在服务客户端中使用缓存,您的服务需要使用HTTP Caching,它返回 HTTP 缓存原始指令,在使用时维护“客户端缓存” Cache Aware Service Clients.

    如果您只使用“服务器缓存”功能,如 [CacheResponse(Duration)] 属性或任何 ToOptimizedResult* API,则缓存仅在服务器上,它对所有访问相同“服务器”的任何 HTTP 客户端都是透明的缓存响应”。

    【讨论】:

    • 谢谢,神话。我读了这篇文章并假设它都启用了缓存。它作为服务客户端下的第一项突出... 缓存感知服务客户端 在服务上启用缓存时,缓存感知服务客户端可以通过完全消除服务器请求以及减少重新验证的带宽来显着提高性能请求。
    猜你喜欢
    • 2014-04-13
    • 2013-09-16
    • 2019-03-17
    • 2011-02-25
    • 1970-01-01
    • 1970-01-01
    • 2014-07-20
    • 1970-01-01
    • 2015-08-19
    相关资源
    最近更新 更多