Net Core 使用Redis保存进程外session

Redsi下载地址:https://github.com/MSOpenTech/redis/releases

下载后解压

找到redis.windows.conf文件, (修改密码这步骤可省略

 

打开 找到requirepass 节点 ,放开注释符 “#”  ,后面的值改成自己要设置的密码

打开 cmd 窗口,使用 cd 命令切换目录到程序解压的目录或者直接到解压文件的目录下地址栏输入cmd回车  

redis-server.exe redis.windows.conf

扫描二维码关注公众号,回复: 6635029 查看本文章

新启动一个cmd窗口  

redis-cli.exe -h 127.0.0.1 -p 6379 -a Mypwd

 

若没设置密码 执行

redis-cli.exe -h 127.0.0.1 -p 6379

然后使用set  get 执行  存取值

VS 操作

在项目添加  StackExchange.Redis包

Install-Package StackExchange.Redis

配置文件配置Redis 链接串

{
  "ConnectionStrings": {
    "RedisConn": "127.0.0.1:6379,allowAdmin=true,password=Mypwd,defaultdatabase=0"
  },
  "Logging": {
    "LogLevel": {
      "Default": "Trace",
      "System": "Information",
      "Microsoft": "Information"
    }
  },
  "COREHOST_TRACE": 1,
  "AllowedHosts": "*"
}

Startup.cs 里ConfigureServices方法添加 session 及Redis设置

            services.AddDistributedRedisCache(options =>
            {
                options.Configuration = Configuration.GetConnectionString("RedisConn");
                options.InstanceName = "MyTest.Web_";
            });
            services.Configure<CookiePolicyOptions>(options =>
            {
                // This lambda determines whether user consent for non-essential cookies is needed for a given request.
                options.CheckConsentNeeded = context => false; // Default is true, make it false
                options.MinimumSameSitePolicy = SameSiteMode.None;
            });

            //添加session
            services.AddSession(options =>
            {
                options.IdleTimeout = TimeSpan.FromHours(2); //session 有效期
                options.Cookie.HttpOnly = true;//设为httponly
            });

Startup.cs 里Configuref方法添加 

app.UseSession();

 程序使用session既可

//写入
HttpContext.Session.SetString("testkey", "abc");
//读取
string uid = HttpContext.Session.GetString("mruserid");

用Redis管理工具  Redis Desktop Manager 链接查看

  

上个图可能显示不全  补下上个图的一部分 

猜你喜欢

转载自www.cnblogs.com/dwtx/p/11094260.html
今日推荐