pyredis.py 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. """
  2. Redis client Python
  3. @author luojunhui
  4. """
  5. import time
  6. import redis
  7. class RedisClient(object):
  8. """
  9. Redis client by python
  10. Todo 如果 Redis 服务挂了,怎么做能够不影响业务
  11. 思路, 每次使用 redis 接口前先判断是否连接成功,如果连接失败则跳过 redis ,不影响全局
  12. """
  13. def __init__(self):
  14. self.pool = None
  15. self.host = 'r-bp1mb0v08fqi4hjffu.redis.rds.aliyuncs.com'
  16. self.port = 6379
  17. self.db = 2
  18. self.password = 'Wqsd@2019'
  19. def connect(self):
  20. """
  21. connect to redis server
  22. :return: bool
  23. """
  24. try:
  25. self.pool = redis.Redis(host=self.host, port=self.port, db=self.db, password=self.password)
  26. return True
  27. except Exception as e:
  28. print("connect to redis fail, the reason is {}".format(e))
  29. return False
  30. def select(self, key):
  31. """
  32. read info from redis
  33. :return:
  34. """
  35. return self.pool.get(key)
  36. def insert(self, key, value, expire_time):
  37. """
  38. insert info from redis
  39. :return:
  40. """
  41. self.pool.set(key, value, expire_time)
  42. def delete(self, key):
  43. """
  44. delete key
  45. :param key:
  46. :return:
  47. """
  48. self.pool.delete(key)
  49. if __name__ == '__main__':
  50. R = RedisClient()
  51. if R.connect():
  52. print(R.select(1))
  53. R.insert(1, 2, 3)
  54. print(R.select(1))
  55. time.sleep(2)
  56. print(R.select(1))
  57. time.sleep(2)
  58. print(R.select(1))