redis_helper.py 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160
  1. # coding:utf-8
  2. import time
  3. import redis
  4. class RedisString(object):
  5. def __init__(self, config):
  6. self.config = config
  7. self.r = self.connect()
  8. def connect(self):
  9. while True:
  10. try:
  11. self.r = redis.StrictRedis(host=self.config.get("host"), port=self.config.get("port"),
  12. password=self.config.get('pwd'),
  13. db=self.config.get('db',1), decode_responses=True)
  14. break
  15. except Exception as e:
  16. print('redis_error',e)
  17. time.sleep(20)
  18. return self.r
  19. def string_set(self, k,v,ex=None):
  20. """ set -- 设置值 设置超时间"""
  21. rest = self.r.set(k, v, ex=ex)
  22. return rest
  23. def update(self, key, v,ex=None):
  24. if not self.r.exists(key):
  25. rest = self.r.set(key, v,ex=ex)
  26. return rest
  27. else:
  28. return 'exists'
  29. def string_get(self, check_data):
  30. """ get -- 获取值 """
  31. try:
  32. rest = self.r.get(check_data)
  33. except Exception as e:
  34. print(e)
  35. rest = None
  36. return rest
  37. def string_mset(self):
  38. """ mset -- 设置多个键值对 """
  39. d = {
  40. 'user3': 'Bob',
  41. 'user4': 'Bobx'
  42. }
  43. rest = self.r.mset(d)
  44. print(rest)
  45. return rest
  46. def string_mget(self):
  47. """ mget -- 获取多个键值对 """
  48. ls = ['user3', 'user4']
  49. rest = self.r.mget(ls)
  50. print(rest)
  51. return rest
  52. def exists(self,key):
  53. if self.r.exists(key):
  54. return True
  55. return False
  56. def string_del(self,key):
  57. """ del """
  58. rest = self.r.delete(key)
  59. return rest
  60. def add_string_to_set(self,key, string):
  61. # 判断字符串是否存在于集合中
  62. if not self.r.sismember(key, string):
  63. # 将字符串添加到集合中
  64. rest = self.r.sadd(key, string)
  65. return True
  66. else:
  67. return False
  68. # 定义一个函数来删除不以 "jycode_" 开头的键
  69. if __name__ == '__main__':
  70. configs = {'host':'192.168.3.109','port':'6379','pwd':'root','db':1}
  71. r = RedisString(configs)
  72. import json
  73. mysql_path = {
  74. # 'mysql_host': '172.17.4.242',
  75. 'mysql_host': '192.168.3.14',
  76. # 'mysql_host': '127.0.0.1',
  77. # 'mysql_user': 'liukangjia',
  78. 'mysql_user': 'root',
  79. # 'mysql_password': 'Lkj#20230630N',
  80. 'mysql_password': '=PDT49#80Z!RVv52_z',
  81. # 'mysql_password': '123456',
  82. # 'mysql_db': 'Call_Accounting',
  83. 'mysql_db': 'lkj',
  84. 'mysql_port': '4000',
  85. # 'mysql_port': '3306'
  86. }
  87. # with open('../data/code_to_name.json', 'r', encoding='utf-8') as f:
  88. # name_maps = json.load(f)
  89. # print(r.update('jycode_C23120301','sss',ex=30))
  90. # cursor = '0'
  91. # while True:
  92. # cursor, keys = r.r.scan(cursor=cursor)
  93. # for key in keys:
  94. # if not key.startswith('jycode_'):
  95. # r.r.delete(key)
  96. # if cursor == '0':
  97. # break
  98. print(r.string_get('jycode_C210407',))
  99. # exit()
  100. # for k,v in name_maps.items():
  101. # print(k,v)
  102. # r.string_set('jycode_'+k,v)
  103. # from mysql_helper import MysqlConn
  104. # m = MysqlConn(mysql_path)
  105. # max_id = 0
  106. # import pandas as pd
  107. # df = pd.read_csv('../gpa.csv',names=['a','b'])
  108. # # print(df.head())
  109. # # print(len(df))
  110. # # print(df.isna().sum().sum())
  111. # # with open('../标题高频主干词.csv','r',encoding='utf-8') as f:
  112. # # data = f.readlines()
  113. # # for i in data:
  114. # # print(i)
  115. # for i in df.values:
  116. # # print(i)
  117. # # print(i[0])
  118. # if r.exists(i[0]):
  119. # continue
  120. # if type(i[0]) != str:
  121. # continue
  122. # with open('high_words2.csv','a',encoding='utf-8') as f:
  123. # f.write(i[0]+'\n')
  124. # r.string_set(i[0],'',14 * 24 * 60 * 60)
  125. # while True:
  126. # m.cursor.execute(f'select * from zc_topic where id >{max_id} limit 1000')
  127. # data = m.cursor.fetchall()
  128. # if len(data) == 0:
  129. # break
  130. # for row in data:
  131. # print(row)
  132. # max_id = row[0]
  133. # v = {'code':row[2], 'root': row[4],'source':0.99, 'mode': 'mode1'}
  134. # v = json.dumps(v,ensure_ascii=False)
  135. # r.string_set(row[1],v,300)
  136. # exit()
  137. # print(r.string_get('10M纯铜电话线(带水晶头)'))
  138. # r.string_set('10M纯铜电话线(带水晶头)','')
  139. # r.string_set('lk',11)
  140. # print(r.string_get('lk'))
  141. # print(res.string_del('德州市环境保护科学研究所有限公司'))
  142. # res.string_del('lkj')