首页 > 数据库 >go redis v8 gin session

go redis v8 gin session

时间:2022-11-30 20:44:27浏览次数:55  
标签:sessions redis v8 session go gin Options

今天使用到gin的模版功能,于是学习了一下登录session

因为gin有自家开发好的 session redis。所以在redis支持方面。已经有支持好的了

但是看了一下golang redis方面,发现有个 redis v8 里的人气比官方的人气更多。更新比较及时。

于是觉得还是整体使用v8的好些。

下面是一些整合方向的技术点:

新建一个redisv8的store,然后参考官方的redistore。增加对应的方法。因为官方的是继承 sessions.Store,所以要实现接口的一些方法

type store struct {
	*RediStoreV8
}

func (c *store) Options(options ginSession.Options) {
	c.RediStoreV8.Options = options.ToGorillaOptions()
}

type RediStoreV8 struct {
	Rdb           *redis.Client
	Codecs        []securecookie.Codec
	Options       *sessions.Options // default configuration
	DefaultMaxAge int               // default Redis TTL for a MaxAge == 0 session
	maxLength     int
	keyPrefix     string
	serializer    SessionSerializer
}

  基本上要注意的是,redis查询时,需要到ctx,这个ctx context.Context。注意要使用同一个变量。可以整成一个全局变量.然后其它的按照官方redisstore的使用方式就很好集成在一起了

注意这里有两个session 一个是github.com/gorilla/sessions 一个是github.com/gin-contrib/sessions

标签:sessions,redis,v8,session,go,gin,Options
From: https://www.cnblogs.com/bfyang5130/p/16939664.html

相关文章

  • 重构后台的django项目目录、配置开发环境、添加环境变量
    重构项目目录celery_task:logs:项目运行时/开发时日志目录包luffapi:项目同名文件夹apps:项目所有应用的集合文件夹libs:第三方类库的保存目录[第三方组件、模块]-包......
  • go 正则表达式
    funcmain(){ line:="2022/11/2519:32<DIR>目录" reg:=regexp.MustCompile(`([\d/]+)\s+(\d+:\d+)\s+(<DIR>)\s+(.*)`) ifreg==nil{ panic(......
  • Golang-单元测试
    单元测试针对使用传统方式测试代码块的不足:1)测试代码块需要在main函数中去调用,需要修改main函数,若项目正在运行,就可能去停止项目,不方便2)不利于管理,当需要测试多个函数或多个......
  • 数据库编程——MongoDB json
    在学习数据库编程总结了笔记,并分享出来。有问题请及时联系博主:​​Alliswell_WP​​,转载请注明出处。09-数据库编程day05(mongodbjson)目录:一、学习目标二、复习三、作业四......
  • windows python虚拟环境创建Django项目
    为虚拟环境新建一个目录。创建一个目录将其命名为virtualenv,再在终端中切换到这个目录,先安装virtualenv如有则跳过​​​pipinstall--uservirtualenv​​可以使用如下指......
  • kubernetes client-go pitfall
    作为云原生开发人员难免会给kubernetesclient-go打交道,但是有许多坑总是一遍又一遍的被开发者踩到,下面梳理常见的坑,希望大家注意避免: informercache中的数据是只读......
  • go-micro v3学习
    go-micro是是Go微服务的框架。1.限流。2.日志中心。3.监控。TRANSLATEwithxEnglishArabicHebrewPolishBulgarianHindiPortugu......
  • SpringBoot Mongodb实战整合
    目录找出数组中,具有qid=1并且reorderFlag=0的记录找出数组中,qid=1或者reorderFlag=0的记录新增数组数据修改数组数据,根据条件批量修改嵌套数组的字段值删除数组数据......
  • cookie session 和token
    以下内容摘自博文:https://blog.csdn.net/qq_40925189/article/details/107030620?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522166955228916782388084153%25......
  • Mongodb删除操作
    不管是数据库还是操作系统的文件,进行删除操作需要谨慎,确认确认再确认。MongoDB提供以下方法来删除集合中的文档delete、drop、remove。drop操作会删除集合及索引文件。1、......