阅读(1699) (0)

Cache

2019-03-30 18:36:38 更新

Cache库

Cache库仅是redis client库的一个lua实现封装, 在初始化后即可在任何地方引用.

Cache库内部封装了一个简单的连接池, 方便大家在使用的时候无需手动管理redis session生命周期.

Cache库有自动的断线、超时重连机制, 但这仅限于底层网络出现抖动时保证session重连(超过连接次数将会抛出异常).

Cache.init(opt)

使用Cache.init进行初始化, opt参数是一个lua table. 请根据实际情况传入如下字段:

  1. host = 'redis server主机名或者ip地址'

  1. port = 6379, redis server端口号

  1. auth = '对应redis的auth' 可选(optional)

  1. db = nil or 指定db(0), 可选(optional)

  1. max = 100 指定最大redis session连接数

此方法的返回值(true)用来判断是否初始化成功, 初始化失败将会进行重复尝试. 到达最大尝试次数后会抛出异常.

由于会抛出异常, 所以在初始化阶段如果有业务需要请自行用pcall或者xpcall封装.

支持大部分的redis API

hget/get/hset/set/hmset/smember/exists等等API, 另外还有一些API如loadscript/eval/evalsha也增加了支持.

具体使用这里就不一一列举出来, 请大家自行参阅redis的相关API文档并对照test_redis.lua进行学习.