使用Gorilla会话自定义后端有什么好处?

时间:2014-04-10 21:14:22

标签: go redis session-cookies gorilla

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

链接到Gorilla会话包:http://www.gorillatoolkit.org/pkg/sessions

1 个答案:

答案 0 :(得分:8)

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

Gorilla会话与Redis无关,但了解这一点,您可以轻松地使用自己的会话存储与Gorilla,前提是您构建了一个符合Gorilla会话Store interface的RedisStore。这完全取决于您的能力以及您在会话商店系统中寻找的内容。 Gorilla基本上为您提供了两个开箱即用的选项,可以选择提供适合您应用的自己的选项。

另外,如果你真的想要构建一个可以与Gorilla Sessions一起工作的RedisStore,那么考虑将其开源,因为它将是Go社区的一个很好的补充。

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

最后一点,如果你让Redis参与考虑使用这个精彩的Go包:Redigo作为你的Redis客户端库。