Rails 用 Rails.cache 写入服务器的缓存失效了,请问是什么原因呢

lgor · 发布于 2017年06月10日 · 最后由 IChou 回复于 2017年06月11日 · 243 次阅读
C6618c

第一个红框是生成的key写入缓存,第二个是用key读取测试,可以成功读取到,第三个是用户再次访问时用key就读取不到数据了。 写入缓存的方法如下


def gen(outid, partner)
  code = generate_code
  #code = "123456"
  key  = cache_key(partner.appid, code)

  write_cache(key, outid, partner)
  puts "read key test--------------------------------"
  puts key
  puts cache.read(key)

  puts "read key test--------------------------------"
  code
end

def cache
  Rails.cache
end

def write_cache(key, outid, partner)
  info = {
    outid: outid,
    appid: partner.appid,
    appsecret: partner.appsecret
  }.to_json
  puts "write key-----------------------"

  puts key

  puts "write key-----------------------"

  cache.write(key, info, expires_in: 30.minutes.to_i)
end

读取方法如下

搞了一个多小时没解决,缓存设置的有效时间是半小时,但是这里立马就失效了,求教

共收到 1 条回复
3035

看上去没什么问题,redis-cli 进控制台看看 ttl

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册