安装Microsoft.Extensions.Caching.Redis.Core
NuGet中搜索Microsoft.Extensions.Caching.Redis.Core并安装,此NuGet包是对Caching的拓展,即可以更换Caching存储介质
appsettings.json配置Redis连接字符串
appsettings.json配置Redis连接字符串(相当于web.config里面配置appsetting节点),注意:添加位置要在Logging上面
{ "ConnectionStrings": { "RedisConnection": "127.0.0.1:6379,password=xxxxxxxxx" }, "Logging": { "IncludeScopes": false, "LogLevel": { "Default": "Warning" } } }
Startup.cs的ConfigureServices方法中添加引用
public void ConfigureServices(IServiceCollection services) { // Add framework services. services.AddMvc(); services.AddDistributedRedisCache(option => { //redis 数据库连接字符串 option.Configuration = Configuration.GetConnectionString("RedisConnection"); //redis 实例名 option.InstanceName = "master"; }); services.AddSession(); }
页面运行HttpContext.Session.GetString("key"),然后用Redis管理工具RedisDesktopManager查询Session是否入库。
每个客户端 InstanceName+ Guid (这个不是session的ID), 数据存储在Hash类型里的data, 不能在调试模式访问.
hash的data是16进制的字符串,不是中文,怎么显示呢?
网上找了一下
1. 先打开命令行cmd 2. 运行chcp 65001 3. 在命令行标题栏上点击右键,选择"属性"->"字体",将字体修改为True Type字体"Lucida Console",然后点击确定 4. redis-cli.exe -a password --raw 但是对于hash里的data还是没有用
hash里sldexp 应该是过期时间,默认是20分钟, 但这个值是微秒吗? 好像多了个零. 因为20*60*1000*1000= 1200,000,000