实现将redis中的所有数据备份到数据库表中

news/2024/11/29 5:30:45/

实现将redis中的所有数据备份到数据库表中

/*** 将redis中的数据同步到mysql中*/@Overridepublic void  saveMysqlForRedis(){Jedis jedis = new Jedis("127.0.0.1", 6379);//System.out.println(jedis.ping());Set keys = jedis.keys("*");//列出所有的keyIterator t1 = keys.iterator();while (t1.hasNext()){Object obj1 = t1.next();saveRedisObject(jedis,obj1+"","127.0.0.1","6379");}}//存储单个对象public  void saveRedisObject(final Jedis jedis,final String rediskey,final String macIp,final String port ){String redisType = jedis.type(rediskey);//返回值的类型RedisTable redisTable = new RedisTable();redisTable.setRediskey(rediskey);redisTable.setRedistype(redisType+"/");//set集合if("set".equalsIgnoreCase(redisType)){Set<String> setStrings = jedis.smembers(rediskey);if(null!=setStrings && !setStrings.isEmpty()){Iterator setIterator = setStrings.iterator();while (setIterator.hasNext()){Object obj1 = setIterator.next();redisTable.setRedisvalue(obj1+"");redisTableService.insert(redisTable);//save}}}//hashelse if ("hash".equalsIgnoreCase(redisType)) {Set<String> hashSet = jedis.hkeys(rediskey);if(null != hashSet && !hashSet.isEmpty()){Iterator setIterator = hashSet.iterator();while (setIterator.hasNext()){String objectName = setIterator.next()+"";redisTable.setRedisvalue(jedis.hget(rediskey,objectName));redisTableService.insert(redisTable);//save}}}else if("string".equalsIgnoreCase(redisType)){redisTable.setRedisvalue((jedis.get(rediskey)));redisTableService.insert(redisTable);//save}}...同样的,还有redis的其他数据类型,如下图:

在这里插入图片描述
注意:
1.需要考虑redis和mysql数据的一致性;
2.考虑redis数据导入的数据的重复性问题。


http://www.ppmy.cn/news/957382.html

相关文章

Win10环境下Android Studio中运行Flutter HelloWorld项目

一、引言 Android Studio是Android的官方IDE(Integrated Development Environment)。它专为Android而打造&#xff0c;可以加快开发速度&#xff0c;为Android设备构建最高品质的应用。 Flutter是Google推出并开源的移动应用开发框架&#xff0c;主打跨平台、高保真、高性能。开…

一分钟带你了解什么是ChatGPT?

在实际应用场景中&#xff0c;ChatGPT可以应用于多种场景&#xff0c;如客服、娱乐和教育等。与传统的聊天机器人相比&#xff0c;ChatGPT具有更高的智能水平&#xff0c;能够更好地理解人类的语言和意图。比如&#xff0c;ChatGPT可以帮助用户解决一些常见的问题&#xff0c;如…

chatGPT的原理是什么

ChatGPT是一种基于自然语言生成的对话系统。它使用了一种叫做 Transformer 的神经网络架构&#xff0c;能够从输入的文本中学习语言模型并生成输出文本。 ChatGPT 的工作原理是&#xff0c;当用户输入一条消息时&#xff0c;它会将输入的消息与之前的对话历史拼接起来&#xff…

如何使用chatgpt提高嵌入式软件开发效率

使用CHATGPT可以提高软件的开发效率 注册 这个过程网上很多&#xff0c;可从网上参考 输入要实现的软件功能&#xff0c;尽量的分模块获取软件的源码&#xff0c; 将最终输出的源码信息拷贝到项目中&#xff0c;前提一定要读懂软件源码的功能&#xff0c;且懂得调用接口。

chatgpt是什么软件

ChatGPT是一款基于自然语言处理技术开发的聊天机器人软件&#xff0c;它通过与用户的交互&#xff0c;为用户提供有关各种主题的答案和解决方案。这款软件可以称为是一种智能机器人&#xff0c;它可以理解自然语言、识别语义、自主学习和适应&#xff0c;为用户提供与人类一样的…

【SpringBoot Web开发】如何构建树形结构数据

树形结构数据 应用场景 比如我们需要构建菜单、机构树、其他业务类型树形结构 工具类 我们可以把菜单列表返回&#xff0c;获取parent_id字段等于0的节点&#xff0c;称为根节点&#xff0c;这样的节点代表一级菜单再通过根节点的主键去寻找子菜单&#xff0c;因为要有多及菜…

人才输送|我的“捷码低代码工程师”转型之路!

最新职位 招聘岗位&#xff1a;低代码工程师 需求公司&#xff1a;上海北斗西虹桥基地 应聘条件&#xff1a;1、本科以上&#xff0c;最好硕士&#xff1b;2、有三年以上开发经验&#xff1b; 工作内容&#xff1a;带领团队用捷码低代码平台进行项目开发。 工作地点&#xff1a…

html input怎么限制字数,搞了个输入框限制字数

结合蚂蚁设计的Antv(类型ElementUi框架) html部分&#xff1a; 还可输入{{remnant}}个字。 data.return部分&#xff1a; data(){ return{ val:, val2:, val3:, maxLength:800, autoFocus:true, retPras: { rules: [ { required: true, message: 请输入问题描述信息! }, { vali…