导出redis中某个大key中的值并与数据库中作对比

今天测试凤凰FM 数据导入项目

遇到一个问题 redis set key 中的数据条数比t_aduio表中还多 (可能是数据转码有失败的)

详情:redis key:fenghuang_audio_origin_id 中有5194条记录,但是 t_audio表存进去了5189条数据

我想知道是娜几条数据转码失败了,所以就需要把redis key中的数据导出 

网上查找http://www.runoob.com/redis/redis-sets.html

找到了命令:SMEMBERS key  返回集合中的所有成员

SMEMBERS  fenghuang_audio_origin_id

这样的效果是5149条数据都在命令框列出来

copy到csv文件  使用正则表达式 :\d+\)匹配出编号然后替换为空,再去掉双引号

然后将数据导入到数据空某个暂时没用的表中 ,就可以使用not in命令来找出两个表中差那几条数据了

原文地址:https://www.cnblogs.com/AliceAn/p/10337678.html

时间: 2024-11-08 19:53:15

导出redis中某个大key中的值并与数据库中作对比的相关文章

ASP.NET中让图片以二进制的形式存储在数据库中

今早有个网友问到我这问题,以前我都是直接在数据库中存文件名的,还没有试过存储整张图片到数据库中,上网搜索了一下,自己又测试了一番,代码如下:建立保存图片的表的SQL语句: Sql代码   USE [niunantest] GO /****** 对象:  Table [dbo].[picdata]    脚本日期: 03/30/2010 14:51:58 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [d

java中list集合的内容,如何使用像数据库中group by形式那样排序

java中list集合的内容,如何使用像数据库中group by形式那样排序,比如:有一个 List<JavaBean> 他中包含了一些如下的内容JavaBean:name    money(名称)  (金额) 来源A   100来源B   200来源C   300来源B   6600来源A   99800<数据1> 最后想实现的是:如果假设这些数据在数据库中,那么通过 select name,sum(money) from Table group by name 该语句得到的Li

如何提取Redis中的大KEY

工作中,经常有些Redis实例使用不恰当,或者对业务预估不准确,或者key没有及时进行处理等等原因,导致某些KEY相当大. 那么大Key会带来哪些问题呢? 如果是集群模式下,无法做到负载均衡,导致请求倾斜到某个实例上,而这个实例的QPS会比较大,内存占用也较多:对于Redis单线程模型又容易出现CPU瓶颈,当内存出现瓶颈时,只能进行纵向库容,使用更牛逼的服务器. 涉及到大key的操作,尤其是使用hgetall.lrange 0 -1.get.hmget 等操作时,网卡可能会成为瓶颈,也会到导致堵

详解大数据采集引擎之Sqoop&amp;采集oracle数据库中的数据

欢迎关注大数据和人工智能技术文章发布的微信公众号:清研学堂,在这里你可以学到夜白(作者笔名)精心整理的笔记,让我们每天进步一点点,让优秀成为一种习惯! 一.Sqoop的简介: Sqoop是一个数据采集引擎/数据交换引擎,采集关系型数据库(RDBMS)中的数据,主要用于在RDBMS与HDFS/Hive/HBase之间进行数据传递,可以通过sqoop import命令将RDBMS中的数据导入到HDFS/Hive/HBase中,也可以通过sqoop export命令将HDFS/Hive/HBase中的

【web开发】-获取textarea标签的值写到数据库中显示乱码

java中使用replace(char old, char new)方法替换" "->" ",或者替换"<br/>"->"\n":有时会出现乱码情况: 1.共写到数据库中显示乱码: 2.从数据库总读出显示乱码: 除过常规的设置数据库编码和工程项目编码之外,在调用replace方法时,注意: String str = str.replace(" ", " ").re

求出整形数组中第二大的数的值

1 int findsecond(int a[], int size) 2 { 3 int max = a[0]; 4 int second = a[1]; 5 int index = 0; 6 for (int i = 0; i < size; ++i) 7 { 8 if (max < a[i]) 9 { 10 second = max; 11 index = i; 12 max = a[i]; 13 } 14 else if (max > a[i]) 15 { 16 if (seco

Jackson中处理map中的null key 或者null value 及实体字段中的null value

1.map中有null key时的序列化  当有null key时,jackson序列化会报 Null key for a Map not allowed in JSON (use a converting NullKeySerializer?)  处理此异常有两种方式 1.需要自定义一个序列化null key的方法 2. map中直接remove null key 这里只讨论第一种: 处理方法为 mapper.getSerializerProvider().setNullKeySerializ

java 获取map中所有的key和value值

java.util.Iterator it = hashmap.entrySet().iterator(); while(it.hasNext()){ java.util.Map.Entry entry = (java.util.Map.Entry)it.next(); entry.getKey() 返回与此项对应的键 entry.getValue() 返回与此项对应的值 } 更多关于java教程 : 请关注 java教程

EF 中获取 TableAttribute的值,即数据库中真实的表名

比如EF中我定义了这样一个实体: [csharp] view plain copy print? [Table(Name = "MyTableName")] public class MyClass { } [Table(Name = "MyTableName")] public class MyClass { } 现我想获取 MyTableName,可以这样来办: [csharp] view plain copy print? using System.Data.