我想使用 Redis 进行会话管理。
但我不明白使用 Redis 作为 Gorilla 会话包的自定义后端比直接使用它有什么优势?
Gorilla 会话包的链接:http://www.gorillatoolkit.org/pkg/sessions http://www.gorillatoolkit.org/pkg/sessions
Gorilla 会话提供了一种连接存储系统以进行会话管理的方法,前提是您遵守所提供的界面。目前,他们为您提供了两个开箱即用的商店。一个是一个文件系统存储 https://github.com/gorilla/sessions/blob/master/store.go#L144它遵循仅在服务器文件系统上存储和检索基于会话的数据的接口。这CookieStore https://github.com/gorilla/sessions/blob/master/store.go#L52作为另一种选择,读取和写入浏览器内置 cookie 系统以使用另一种方式完成相同的操作。
Gorilla 会话实际上与 Redis 无关,但知道这一点,只要您构建一个遵循 Gorilla 会话的 RedisStore,您就可以轻松地在 Gorilla 中使用自己的会话存储商店界面 https://github.com/gorilla/sessions/blob/master/store.go#L21。这实际上完全取决于您的能力以及您在会话存储系统中寻找什么。 Gorilla 基本上为您提供了两个开箱即用的选项,以及一个提供适合您的应用程序的选项。
另外,如果您确实要构建一个可以与 Gorilla Sessions 一起使用的 RedisStore,请考虑将其开源,因为它将是 Go 社区的一个很好的补充。
您必须评估应用程序的需求和性能要求,以确定要使用哪个存储系统。为什么 Redis 可能有意义?好吧,如果您正在构建一个需要进行大量写入/修改的应用程序,并且这些数据需要保留,那么众所周知,只要您正确使用它,Redis 就可以帮助您扩展您的应用程序。如果您知道自己在做什么,Redis 支持的会话将会表现得非常好。
最后一点,如果您参与 Redis,请考虑使用这个精彩的 Go 包:Redigo https://github.com/garyburd/redigo作为您的 Redis 客户端库。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)