我正在考虑使用 Redis 或 SQL Server 在 ASP.NET Core 中存储 session ,也许还有其他一些缓存需求。几个简单的问题:
- 两者有什么重大区别吗?
- Redis 在内存中,SQL Server 是否也用于此目的,还是将所有内容都存储在磁盘上?
- SQL Server Express 版本是否足够
最佳答案
您可以使用 sql server 来处理 session 状态,但 redis 是专门为处理 session 状态而构建的。像 SQL Server 这样的基于 SQL 的数据库对于 session 状态管理来说可能有点矫枉过正。从计算 session 状态查找的成本来看,redis 会更便宜、更快。 Redis 是轻量级的、低延迟的并且更具可扩展性。
完全公开,我在不同时间从事这两种产品的工程设计工作。这些天我在 Redis Labs 研究 Redis。
关于使用 Redis 或 SQL Server 的 ASP.NET Core 分布式缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42201460/