from time import sleepimport pymysql
from rediscluster import StrictRedisClusterclass MysqldbHelper(object):def __init__(self, host='数据库地址', username='登录名', password='密码', database='库名称', charset='utf8'):self.host = hostself.username = usernameself.password = passwordself.database = databaseself.con = Noneself.cur = Noneself.charset = charsettry:self.con = pymysql.connect(host=self.host, user=self.username, passwd=self.password,db=self.database)# self.con = pymysql.connect(host=self.host, user=self.username, passwd=self.password, port=self.port,# db=self.database)# 所有的查询,都在连接 con 的一个模块 cursor 上面运行的self.cur = self.con.cursor()print('mysql :', self.database, '数据库成功连接')except Exception as e:print(e)def execute(self, sql):sql_ = sqltry:self.cur.execute(sql_)results = self.cur.fetchall()# print(results)return resultsself.cur.close()except pymysql.Error as e:error = 'MySQL execute failed! ERROR (%s): %s' % (e.args[0], e.args[1])print(error)# redis集群中的所有主结点(所有master结点)
startup_nodes = [{'host': '172.17.0.4', 'port': '6379'},{'host': '172.17.0.5', 'port': '6380'},{'host': '172.17.0.6', 'port': '6381'},{'host': '172.17.0.7', 'port': '6382'},{'host': '172.17.0.8', 'port': '6383'},{'host': '172.17.0.9', 'port': '6384'},
]if __name__ == '__main__':try:# 连接mysqlsql = MysqldbHelper(host='192.168.76.146',username='root',password='123456',charset='utf-8',database='test_data')# 连接Redis集群# 构建StrictRedisCluster对象rClu = StrictRedisCluster(startup_nodes=startup_nodes, decode_responses=True, password="123456")print('Redis 集群连接成功')except Exception as e:print(e)command = ["select * from test_data", "desc test_data"]desc = []print('获取mysql信息到Redis')result = sql.execute(command[1]) # 顺序获取字段名称for name in range(len(result)):desc.append(result[name][0])passresult = sql.execute(command[0]) # 将id添加到Redis set中for i in range(len(result)):for j in range(len(result[i])):# rClu.sadd(desc[j], result[i][j])rClu.set(name=result[i][j], value='登录', ex=5, nx=True) # 过期时间5s,存在不设置# print(desc[j], ':', result[i][j])passfor i in range(len(result)): # 每个用户print(result[i][0], ':', rClu.get(result[i][0]))print('休息5秒')sleep(5)for i in range(len(result)): # 每个用户print(result[i][0], ':', rClu.get(result[i][0]))pass
详细解决方案
redis与mysql数据互通
热度:54 发布时间:2024-01-26 05:07:29.0
相关解决方案
- mysql 简单化 or能否实现
- 请问registered the JDBC driver [com.mysql.jdbc.Driver] but failed to unregister
- MySQL 5.5 Command Line Client 窗口1输密码就退出
- 在LINUX上配置 MySQL 开机自动 启动
- mysql 转 orocle java ssh项目一条 sql 句不通!
- 上了个 MySQL 5.5.25 但是安装时出错了
- JDBC MYSQL 驱动加载失败 JSP DAO ECLIPSE,该怎么解决
- tomcat 中抛异com.mysql.jdbc.exceptions.MySQLTransactionRollbackException,该如何处理
- struts+iBatis+mysql,该如何解决
- mysql 有外键的插入解决方案
- mysql,该如何处理
- MyBatis3.1.1 Insert 回到主键 long类型 MYSQL 数据库
- mysql:假若一个表中,有两个属性name和id,删除同名的保留id小的,问这样写有误吗
- java mysql where限制有关问题
- 救助。Mysql 的条件删除语句如何写,就是删除部门的时候,如果部门下有用户,就不能删除
- mysql 触发器 根据更新的这一列的数据来更新本行的另一列数据解决办法
- 数据库Sqlserver,Sybase,orcale,mysql 用jDBC 做分页操作的查询效率有什麽区别解决办法
- sql+mysql+chart+DataTable实现折线图分享!解决方案
- sql+mysql+chart+DataTable兑现折线图分享
- mysql diopdownlist连接数据库,该怎么解决
- MySQL 自动增长列的有关问题?求高手指导,小弟我是学生
- MySQL 主键和自增列的有关问题 新手在学 求指导
- Unable to connect to any of the specified MySQL hosts为什么连不上mysql?该如何解决
- mysql 的存储过程变量如何在 sql 中使用
- 在小公司怎么成长为高级 mysql dba
- Myeclipse+Jboss+mysql JNDI调用疏失
- Myeclipse+Jboss+mysql JNDI调用出错,该怎么解决
- mysql+weblogic连接池的有关问题
- Mysql 不明原因经常重启,造成无法访问,该怎么处理
- redis-2.0.4 环境配置,该如何解决