运维开发网

Redis支持的ASP.NET SessionState提供程序

运维开发网 https://www.qedev.com 2020-04-29 12:00 出处:网络 作者:运维开发网整理
我目前正在开发一个由Redis使用Booksleeve支持的ASP.NET SessionState自定义提供程序。 Redis似乎是一个完美的适合SessionState(如果你必须使用它),因为: > Redis可以像RDBMS一样持久存储,但是它要快得多。 > Key / Value数据存储更适合SessionState的接口。 >由于数据不是存储在进程中(如默认Session提供程序),S
我目前正在开发一个由Redis使用Booksleeve支持的ASP.NET SessionState自定义提供程序。 Redis似乎是一个完美的适合SessionState(如果你必须使用它),因为:

> Redis可以像RDBMS一样持久存储,但是它要快得多。

> Key / Value数据存储更适合SessionState的接口。

>由于数据不是存储在进程中(如默认Session提供程序),SessionState可以消除Web服务器重新启动,崩溃等。

>如果需要,Redis很容易水平分片。

所以,我想知道这是否会对任何人有用,因为我们(我的公司)正在考虑在GitHub上开源。想法?

更新:

我昨天发布了第一个版本:https://github.com/angieslist/AL-Redis/blob/master/AngiesList.Redis/RedisSessionStateStore.cs

我创建了一个基于Redis的SessionStateStoreProvider, can be found on GitHub使用ServiceStatck.Redis作为客户端(而不是Booksleeve)。

它可以通过NuGet与Install-Package Harbour.RedisSessionStateStore安装。

我发现了一些怪异与@ NathanD的方法。在我的实现中,锁与会话值而不是单独的密钥(更少到Redis的往返)存储。此外,因为它使用ServiceStack.Redis,它可以使用池连接。

最后,它的测试。这是我最大的关闭从@ NathanD的方法。没有办法实际知道它是否工作,没有运行每个用例手动。

扫码领视频副本.gif

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号