Redis

MySQL 查询结果保存为CSV文件

馋奶兔 提交于 2021-02-12 09:16:31
点击上方“ IT共享之家 ”,进行关注 回复“ 资料 ”可获赠IT学习福利 MySQL支持将查询结果直接导出为文本格式,格式如下: into outfile ‘导出的目录和文件名’ 指定导出的目录和文件名 fields terminated by ‘字段间分隔符’ 定义字段间的分隔符 optionally enclosed by ‘字段包围符’ 定义包围字段的字符(数值型字段无效) lines terminated by ‘行间分隔符’ 定义每行的分隔符 举个栗子: select * from [表名] where [字段名] = '条件' into outfile 'c:/test.csv' fields terminated by ',' optionally enclosed by '"' lines terminated by '\r\n' ; 执行后,会把指定表中记录数据导出到c:/test.csv文件中。每个字段以,(逗号)分隔,字段内容是字符串的以”(双引号)包围,每条记录使用\r\n换行。如图所示 如果导出的过程中出现: the MySQL server is running with the -- secure - file - priv option so it cannot execute this statement 首先了解一下secure-file

缓存击穿

血红的双手。 提交于 2021-02-12 08:26:08
概念 缓存的key过期,导致查询该key的大量请求打到数据库上,导致数据库压力增大。 解决方案 一、单实例场景下应用内加锁 对于当应用的场景,只有一个实例,只需要在应用内对查询数据库的操作加锁,保证同一时刻只有一个线程能够进入到该代码块中,这样可以将大并发的场景在应用内控制变成串行访问,减轻对数据存储层的压力,进入该代码块的线程查询完db后将数据写入到缓存中,后续的其他线程再查询缓存就有数据,不需要再查询db了。 二、分布式场景下,使用分布式锁 分布式锁,其实就是将单实例应用内的锁,转换成多应用共享锁,实现的方案网上也很多,通过zk,redis都能实现,我们团队中目前是使用redis来实现分布式锁。 来源: oschina 链接: https://my.oschina.net/u/1381995/blog/3133543

链路追踪(一)-分布式链路追踪系统的介绍

末鹿安然 提交于 2021-02-12 06:50:57
一、分布式链路追踪可以做什么? 1.1:简单集群架构&微服务架构 先来看下最简单的网站集群架构图: 图1 在这个图里,存在从1~n个服务器,通过负载均衡器SLB进行请求分发,在每个服务器里,都做同一件事情。 现在来看下这个系统的具体业务逻辑(就是 图1 中每台服务器执行的逻辑,这里是假设其中一个业务接口的处理, 真实系统中可能存在n多业务接口 ): 图2 图2 是对系统中某一个接口(API)的逻辑做了描述,假设处理流程就是请求一次Redis服务,然后做下处理,然后再请求下Memecached服务,在做下业务处理,后续可能还有其他各种业务逻辑,我们统称为逻辑块。 现在假设这个接口存在性能问题,那么找对应开发负责人排查是比较容易的,因为服务器只执行一套逻辑,瓶颈点一定发生在当前接口对应代码里的某个点,那么就找接口对应的负责人去排查优化即可。 但是当业务发展到一定的程度,比如上述单系统逻辑越来越复杂(业务接口越来越多,逻辑越来越复杂),就会造成很多我们不愿意看到的问题发生: ① 每一次微小的改动都需要整体走一次打包、发版的流程,对测试也是种负担,因为n多个人如果同时开发不同的功能,这时候就会对测试和发布流程造成很大的困扰。 ② 如果因为做某次活动,某一个接口可能引入大量请求,需要紧急扩容,那么只能对整体扩容(因为该接口与其他接口都处于同一个系统中)。 ③ 系统各模块高度耦合

【福利来了】B站 Java 精选视频,都帮你整理好了,拿去用!!!

人盡茶涼 提交于 2021-02-12 06:42:04
大家好,今天帮大家整理了一下b站上java相关的精华视频,供大家使用, 文末有福利 !!! 一、Java基础 尚硅谷宋红康(强力推荐) https://www.bilibili.com/video/av48144058 动力节点Java零基础教程视频 https://www.bilibili.com/video/av11361088 北京尚学堂高琪(推荐) https://www.bilibili.com/video/av30023103 求知讲堂:2019求知讲堂零基础Java入门编程视频教程高口碑无废话无尿点 https://www.bilibili.com/video/av76235341 尚硅谷Java8新特性+JUC+NIO https://www.bilibili.com/video/av71563078 二、数据结构与算法 郝斌-数据结构入门 https://www.bilibili.com/video/av6159200 尚硅谷韩顺平图解Java数据结构与算法 https://www.bilibili.com/video/av54029771 数据结构与算法基础-java版(颜群) https://www.bilibili.com/video/av33835237 清华大学-邓俊辉MOOC数据结构与算法全套 https://www.bilibili.com

如何将炫酷的报表直接截图发送邮件——在Superset 0.37使用Schedule Email功能

吃可爱长大的小学妹 提交于 2021-02-12 03:49:43
Superset的图表是非常炫酷的,但是原来的版本只能在web端查看,而最新的0.37版本,可以将图表截图直接发送成邮件,非常的方便。 本文将详细介绍Superset 0.37 定时邮件功能。安装过程遇到的任何问题请关注 “ 实时流式计算 ” 随时与我联系。所有的离线安装包已经整理好,请 后台 回复 “ superset0928 ” 下载。 开启邮件功能 superset 0.37的电子邮件功能 默认是关闭的 电子邮件功能允许用户对以下两种电子邮件进行报告: 图表和仪表板(附件或嵌在邮件之中) 图表数据(CSV附件) vi config.py 开启邮件功能 ENABLE_SCHEDULED_EMAIL_REPORTS = True 要发送电子邮件 还需要配置一下SMTP EMAIL_NOTIFICATIONS = True SMTP_HOST = "email-smtp.eu-west-1.amazonaws.com" SMTP_STARTTLS = True SMTP_SSL = False SMTP_USER = "smtp_username" SMTP_PORT = 25 SMTP_PASSWORD = os.environ.get( "SMTP_PASSWORD" ) SMTP_MAIL_FROM = "insights@komoot.com" 启动前记得执行

Linux下源码编译安装Redis及如何后台启动Redis

假如想象 提交于 2021-02-12 02:03:20
操作系统:Centos 下载源码包 http://download.redis.io/releases/redis-4.0.9.tar.gz 解压 # tar -zxvf redis- 4.0 . 9 . tar .gz 编译安装 # cd redis- 4.0 . 9 指定安装路径编译安装 # make PREFIX=/usr/local/redis install 更改配置使其后台启动 # cp redis.conf /usr/local/redis/ # cd /usr/local/redis/ 修改redis.conf # vi redis.conf 将daemonize 改为yes 134 # By default Redis does not run as a daemon. Use ' yes ' if you need it. 135 # Note that Redis will write a pid file in /var/run/ redis.pid when daemonized. 136 daemonize yes 指定端口运行 # bin/redis-server redis.conf --port 6379 下图即为指定端口后台运行redis 来源: oschina 链接: https://my.oschina.net/u/4384948/blog

一口气说出“6种”延时队列实现方法,面试官也得服

倾然丶 夕夏残阳落幕 提交于 2021-02-11 21:53:31
下边会介绍多种实现延时队列的思路。其实哪种方式都没有绝对的好与坏,只是看把它用在什么业务场景中,技术这东西没有最好的只有最合适的。 一、延时队列的应用 什么是延时队列?顾名思义:首先它要具有队列的特性,再给它附加一个延迟消费队列消息的功能,也就是说可以指定队列中的消息在哪个时间点被消费。 延时队列在项目中的应用还是比较多的,尤其像电商类平台: 1、订单成功后,在30分钟内没有支付,自动取消订单 2、外卖平台发送订餐通知,下单成功后60s给用户推送短信。 3、如果订单一直处于某一个未完结状态时,及时处理关单,并退还库存 4、淘宝新建商户一个月内还没上传商品信息,将冻结商铺等 。。。。 上边的这些场景都可以应用延时队列解决。 二、延时队列的实现 我个人一直秉承的观点:工作上能用 JDK 自带 API 实现的功能,就不要轻易自己重复造轮子,或者引入三方中间件。一方面自己封装很容易出问题(大佬除外),再加上调试验证产生许多不必要的工作量;另一方面一旦接入三方的中间件就会让系统复杂度成倍的增加,维护成本也大大的增加。 1、DelayQueue 延时队列 JDK 中提供了一组实现延迟队列的 API ,位于 Java.util.concurrent 包下 DelayQueue 。 DelayQueue 是一个 BlockingQueue (无界阻塞)队列,它本质就是封装了一个

Java旅游点评项目笔记之项目搭建和实现

我与影子孤独终老i 提交于 2021-02-11 20:32:05
不点蓝字,我们哪来故事? 驴窝窝旅游点评项目 项目目的 项目的理解和技术技巧的熟练使用;月薪可达8K水平; 对原来技术的掌握,项目中的技术请无死角掌握; 想一下项目可以怎么去拓展,去实现新功能; 独立完成新的需求,举一反三;自主学习,自主思考;不要局限于老师讲的; 对技术需求的理解和掌握,怎么用好工具完成需求; 易忘,要在固定的时间复习; 1, 项目的总体安排 ; 2, 项目的重点 : 1,本项目的重点不是去制作一个完整旅游点评项目,而是了解整个旅游点评项目各个流程和需求,对实际项目开发有一个较为深刻的理解; 2,掌握项目中的一些重要的第三方工具/框架;比如bootstrap;uploadify;ueditor;等的使用; 3,掌握提升自我价值的知识点;比如redis,dubbo,mongodb,elasticsearch 4,掌握如何从0到1开发项目。 3, 项目的学习方法 : 1,深入学习和理解项目的需求,和一个产品的设计理念; 2,这个项项目,重点不要纠结于细节的代码实现,要从更大的范围去理解一个项目/产品的开发过程; 3,理解项目中的相关业务流程,学会自己去阅读第三方开发文档等(分享/第三方登录/短信发送); 4,从原理上掌握更高级的工具的使用,重点是要理解,什么时候需要用到这些东西,和使用这些东西的基本方式; 演示项目 技术路线 我们在做架构的时候并没有讲到SSH,SSM

我是一名技术总监,被技术选型给埋坑里了

半腔热情 提交于 2021-02-11 20:31:42
Dan McKinley 无明 阅读数:20663 2019 年 7 月 22 日 本文主人公从事软件开发近 20 年,既在大公司待过,也在小公司待过。在他的职业生涯中,发现了很多跟技术选型相关的各种问题:应该选新潮的技术还是无聊的技术?应该搭建极客范的技术栈还是使用基础的工具?应该用开发者喜欢的还是维护起来省事的?他对此作了深入的剖析,希望能帮到你。(多图流量预警!) 我叫 Dan McKinley,坑里的那个人就是我。 我现在在一家叫作 Mailchimp 的公司上班。更早之前是在 Etsy,因为在 Etsy 待的时间比较长,所以后面会更多地提到我在这家公司的经历。其实在离开 Etsy 之后,我也在其他几家公司干过。 我既在大公司待过,也在小公司待过,还创办过自己的公司。在经历了这些公司之后,我注意到了一些现象。 大公司有自己的做事方式,他们提供了“沙盒”一样的环境,在这样的环境里,会有人满足你的需求,帮你答疑解惑,让你感觉受到了“百般宠爱”。 但我也经历过几个过渡时期,在这些过渡时期,需要自己解决一些棘手的问题。 首先, 如何选择合适的技术? 另一个我比较关心的问题是: 如何让开发人员开心地使用这些技术? 因为我自己也是开发者,所以这一点对于我来说比较重要。如果有可能,我会尽量让自己过得开心些。 如果你问开发人员什么东西会让他们开心,他们通常会说:“如果可以使用

Notification and News Area by using Redis

纵然是瞬间 提交于 2021-02-11 18:16:17
问题 I have a photo album system which people can upload photos and interract with other users. I use mySql and Redis to handle traffic and store the data. In my system, users can follow other users, like photos, comment on them and upload new photos. In this scenario, I want to show all events from user's followings on their wall (like facebook timeline). For example, I follow users 30,40,50,60,70 and 80 ids. Whenever they add a new photo, I would like to see them on my wall. The problem is this