场景是这样。要调用 openapi,首先要调接口获取 token,token 会过期,所以要定期更新 token。 如果是 java spring 实现,无非是定义一个 XxxService 类,加上@Component注解, 定义一个叫 token 的实例变量,定义一个周期执行的方法来更新 token,这样就 Ok 了。
现在用 ruby sinatra 框架,用$token 全局变量来存储 token,但用全局变量肯定是不好的。坛子 里的 ruby 高手指点下有什么更好的实现方式吗
https://github.com/huacnlee/rails-settings-cached 用这个 gem 试试
@yangfeng05 感觉不不太合适,rails-settings-cached 适合存储 key-value 这样的配置数据
用 Rails.cache 存就好了,有 fetch 方法,若无数据则再去获取,配合设置超时时间,缓存的后端可以用 redis,如果你觉得没必要那么重,那用自带的纯内存就好了(副作用是 Rails 进程结束缓存就清空)
fetch
@jasl 场景上不太合适,但能用,目前也没找到别的办法
Rails.cache 够用,如果想更可靠点就存数据库。