9

我想使用 Redis 进行会话管理。
但是我无法弄清楚使用 Redis 作为 Gorilla 会话包的自定义后端相比直接使用它有什么优势?

大猩猩会话包的链接:http ://www.gorillatoolkit.org/pkg/sessions

4

1 回答 1

11

Gorilla 会话提供了一种为会话管理连接存储系统的方法,前提是您遵守提供的界面。目前,他们为您提供了两个开箱即用的商店。一种是FilesystemStore,它遵循在服务器文件系统上简单地存储和检索基于会话的数据的接口。CookieStore作为另一种选择,读取和写入浏览器内置的 cookie 系统以使用另一种方式完成相同的事情。

Gorilla 会话确实与 Redis 无关,但是知道这一点,您可以轻松地将自己的会话存储与 Gorilla 一起使用,前提是您构建了一个遵循 Gorilla 会话存储接口的 RedisStore 。这实际上完全取决于您的能力以及您在会话存储系统中寻找的内容。Gorilla 基本上为您提供了两个开箱即用的选项,其中一个选项可以提供您自己的适合您的应用程序的选项。

此外,如果您确实有时间构建一个可以与 Gorilla Sessions 一起使用的 RedisStore,请考虑将其开源,因为它将成为 Go 社区的一个很好的补充。

您必须评估应用程序的需求和性能要求,以确定要使用的存储系统。为什么 Redis 可能有意义?好吧,如果您正在构建一个执行大量写入/修改的应用程序并且这些数据需要持久保存,那么只要您正确使用它,Redis 就可以帮助您扩展您的应用程序。如果您知道自己在做什么,Redis 支持的会话将表现得非常好。

最后一点,如果你让 Redis 参与进来,可以考虑使用这个很棒的 Go 包:Redigo作为你的 Redis 客户端库。

于 2014-04-10T21:23:34.390 回答