刷新Redis缓存的部分
我正在调查在asp.net mvc应用程序中使用Redis的情况,该应用程序使用客户端和在远程计算机上运行的单个Redis实例 我们的缓存分为3个主要“区域”(Asp.net输出缓存、NHibernate二级缓存、应用程序缓存),我希望能够单独“刷新”这些区域中的所有密钥 在Couchbase(我们目前使用的)中,这将通过使用separate来实现,其中客户端实例指向每个实例。然后,我们可以使用来自相应客户端实例的单个调用刷新这些存储桶中的所有值刷新Redis缓存的部分,redis,
servicestack.redis,Redis,
servicestack.redis,我正在调查在asp.net mvc应用程序中使用Redis的情况,该应用程序使用客户端和在远程计算机上运行的单个Redis实例 我们的缓存分为3个主要“区域”(Asp.net输出缓存、NHibernate二级缓存、应用程序缓存),我希望能够单独“刷新”这些区域中的所有密钥 在Couchbase(我们目前使用的)中,这将通过使用separate来实现,其中客户端实例指向每个实例。然后,我们可以使用来自相应客户端实例的单个调用刷新这些存储桶中的所有值 有没有办法使用Redis完成这样的设置?如果是这
有没有办法使用Redis完成这样的设置?如果是这样,我如何从客户端/服务器端实现这一点?我可以想出三种方法来实现这一点 共享数据库-最糟糕的方法(强烈建议不要追求) Redis支持共享数据库,这些数据库基本上是由同一服务器管理的独立密钥空间。连接到Redis后,可以使用该语句在数据库之间切换,并且可以使用该命令逐个刷新每个数据库 赞成者:
- 这是得到你所需要的最简单的方法
- 共享数据库共享相同的Redis进程。由于Redis(大部分)是单线程的,因此不建议使用共享数据库,因为一个数据库中的操作可能会干扰同一服务器上运行的其他数据库
- 目前还不清楚未来版本的Redis是否会继续支持共享数据库
- 同上+更多编码以实现扫描/删除例程
- 用一个命令刷新一个区域
- 利用远程计算机上的多个内核
- 这可能意味着需要更多的管理工作来设置3台Redis服务器
最后,如果你正在寻找一种不用麻烦的方式使用ReDIS,我敦促你考虑在云端中作为托管的ReISIS服务的选项。我们是唯一一家允许您在同一订阅中设置多个专用Redis数据库的服务提供商。
感谢您提供如此简洁的回答!听起来,对我们来说,运行多个实例可能是最好的选择。关于Redis云——如果您在加拿大有POP,这将是我们的一个选择(由于客户限制,恐怕我们不能在国外存储任何东西)。