• Using Redis as a Login Session Store Rails


    用到的gem有:

    gem 'activerecord-session_store', '~> 0.1.0'
    gem 'redis', '~> 3.3.3'
    gem 'redis-namespace', '~> 1.6.0'
    gem 'redis-rack-cache'
    gem 'redis-rails', '~> 4.0.0'

    config/initializers/session_store.rb

    # frozen_string_literal: true
    
    xxxxx::Application.config.session_store :redis_store,
                                               servers: [
                                                 {
                                                   url: ENV['REDISTOGO_URL'],
                                                   namespace: 'session'
                                                 }
                                               ],
                                               key: '_xxxxx_session_id',
                                               expire_after: 60.minutes,
                                               domain: ENV['COOKIES_BASE_DOMAIN'],
                                               path: '/'
     
    

      

    config/application.rb:

    config.middleware.use WickedPdf::Middleware
    config.cache_store = :redis_store, "#{ENV["REDISTOGO_URL"]}/0/cache", { expires_in: 90.minutes }

    打开terminal查看一下redis存的数据:

    $ rails c

    $ redis = Redis::Namespace.new("session", :redis => Redis.new)       //备注: 这里的字符串session就是上面定义的namespace

    打开浏览器找到cookies里存储的key对应的一长串的值,根据这个值在redis里获取数据

    $ redis.get('xxx6eb71c172dxxxx6ff17da67c08xxx')

    $ Marshal.load(redis.get("xxx6eb71c172dxxxx6ff17da67c08xxx"))   解决显示结果的编码问题

  • 相关阅读:
    实验五
    实验四
    实验三
    实验二
    寄存器(内存访问)
    实验一
    寄存器
    Mermaid 绘图总结
    电脑查看系统版本
    _ZNote_Chrom_插件_Chrom运行Android软件_APK
  • 原文地址:https://www.cnblogs.com/iwangzheng/p/11582531.html
Copyright © 2020-2023  润新知