我想知道Redis的C#客户端比Dictionary/ConcurrentDictionary有什么好处.
我不确定何时使用redis被认为是字典存储的过度杀伤.
谢谢.
对于本地的单机应用来说,Redis可能是一种过度杀伤力.特别是当数据不大时.
它主要用作L2缓存层.假设您有多台机器为您的应用程序提供服务,每台机器都可以拥有自己的本地缓存,但Redis可以作为所有机器的全局缓存.假设您的应用的用户浏览到需要来自后端数据库的某些数据的页面或功能.然后,您的应用将检查其本地L1缓存(例如字典).这将是最快的方法,因为它不涉及任何网络往返.如果数据不存在,它将在Redis中将其作为全局应用缓存进行查找.如果它在那里 - 很棒 - 获取数据并放入本地L1缓存中.如果没有,请转到数据库,获取数据,将其放入Redis(L2)和本地缓存(L1)中.
你可以在这里阅读更多内容.
话虽如此,除了缓存之外,还有更多的Redis用法 - Pub/Sub功能,SET
s,SORTED SET
s和功能(如交叉点,工会等)甚至是STRING
类型的智能功能,例如按位操作.