pool.lua 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. local conn = require("redis.conn")
  2. local redis_pool = {}
  3. redis_pool.__index = redis_pool
  4. --[[
  5. 创建一个新的 fw_redis_pool 对象
  6. @return 返回一个新的 fw_redis_pool 对象
  7. ]]
  8. function redis_pool.new(pool)
  9. local instance = setmetatable({}, redis_pool)
  10. if pool == nil then
  11. instance.module = fw_redis_pool.new()
  12. else
  13. instance.module = pool
  14. end
  15. return instance
  16. end
  17. --[[
  18. 启动 Redis 连接池
  19. @param address 地址
  20. @param port 端口号
  21. @param password 密码
  22. @param max_size 最大连接数
  23. ]]
  24. function redis_pool:start(address, port, password, max_size)
  25. self.module:start(address, port, password, max_size)
  26. end
  27. --[[
  28. 关闭 Redis 连接池
  29. ]]
  30. function redis_pool:close()
  31. self.module:close()
  32. end
  33. --[[
  34. 获取 Redis 连接
  35. @return 返回一个 redis 连接对象
  36. ]]
  37. function redis_pool:get()
  38. return conn.new(self.module:get())
  39. end
  40. --[[
  41. 获取弹出连接数
  42. @return 返回弹出连接数
  43. ]]
  44. function redis_pool:pop_size()
  45. return self.module:pop_size()
  46. end
  47. function redis_pool:self()
  48. return self.module:self()
  49. end
  50. return redis_pool