我有一个WCF服务。 WCF服务提供了一套直接与CRM对话的方法。我从这些服务获得的大部分数据都是查找数据,我经常收到这些数据。这会降低性能,因为我的网站中的单个表单包含从CRM获取的多个查找。频繁访问WCF服务的最佳方式
为了解决这个问题,我已经想到了:
*创建一个Windows服务,将抓住所有的数据并保存在本地数据库中。该服务将在特定时间后运行,以确保所有数据同步。
*缓存数据。对于每次调用某个方法来检索查询类型时,数据都将被缓存,以便任何类似的调用都会返回缓存的数据。
我的问题是:
1-有没有比这更好的方法?
2 - 如果不是,哪个更好?
正如我之前所说,我的大部分数据都是查询,这意味着他们不会经常更改。我的缓存想法是缓存数据一天,如果客户指出一些数据不断变化,那么我会改变过期。 – ykh
如果适合您的客户,应该是您的解决方案,是的。缓存键可以存储过程/视图/方法名称+输入参数。无论如何,您的密钥的字符串长度是没有问题的,因为它在缓存中被散列(如果您正在使用MemoryCache f.e.) – KoPoCabana