RedisObject.py 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. #!/usr/bin/env python3
  2. # -*- coding: utf-8 -*-
  3. """
  4. @Copyright (C) ansjer cop Video Technology Co.,Ltd.All rights reserved.
  5. @AUTHOR: ASJRD018
  6. @NAME: AnsjerOA
  7. @software: PyCharm
  8. @DATE: 2018/8/8 17:00
  9. @Version: python3.6
  10. @MODIFY DECORD:ansjer dev
  11. @file: RedisObject.py
  12. @Contact: chanjunkai@163.com
  13. """
  14. import redis
  15. from AnsjerUIDManage.config import SERVER_HOST
  16. from AnsjerUIDManage.config import SERVER_TYPE
  17. # SERVER_HOST = '192.168.136.45'
  18. '''
  19. db=3 -> 统计在线人数用
  20. '''
  21. class RedisObject:
  22. def __init__(self, db=0, SERVER_HOST = SERVER_HOST):
  23. self.POOL = redis.ConnectionPool(host=SERVER_HOST, port=6379, db=db)
  24. self.CONN = redis.Redis(connection_pool=self.POOL)
  25. def set_data(self, key, val, expire=0):
  26. try:
  27. self.CONN.set(key, val)
  28. if expire > 0:
  29. self.CONN.expire(key, expire)
  30. except Exception as e:
  31. return False
  32. else:
  33. return True
  34. def get_data(self, key):
  35. try:
  36. val = self.CONN.get(key)
  37. except Exception as e:
  38. print(repr(e))
  39. return False
  40. else:
  41. if val:
  42. return val.decode('utf-8')
  43. else:
  44. return False
  45. def del_data(self, key):
  46. try:
  47. val = self.CONN.delete(key)
  48. except Exception as e:
  49. print(repr(e))
  50. return False
  51. else:
  52. return True
  53. def get_size(self):
  54. return self.CONN.dbsize()
  55. # 向列表插入数据
  56. def rpush(self, name, val):
  57. self.CONN.rpush(name, val)
  58. def lpop(self, key):
  59. val = self.CONN.lpop(key)
  60. if val:
  61. return val.decode('utf-8')
  62. else:
  63. return False
  64. # 获取列表长度
  65. def llen(self, name):
  66. return self.CONN.llen(name=name)
  67. # 获取列表所有数据
  68. def lrange(self, name, start, end):
  69. return self.CONN.lrange(name, start, end)
  70. def get_ttl(self, key):
  71. ttl = self.CONN.ttl(key)
  72. if ttl:
  73. return ttl
  74. else:
  75. return 0
  76. def get_keys(self, key):
  77. keys = self.CONN.keys(key)
  78. if keys:
  79. return keys
  80. else:
  81. return False