Redis

我是Redis,MySQL大哥被我害惨了!

北战南征 提交于 2020-11-22 04:33:28
我是Redis 你好,我是 Redis ,一个叫 Antirez 的男人把我带到了这个世界上。 说起我的诞生,跟关系数据库 MySQL 还挺有渊源的。 在我还没来到这个世界上的时候,MySQL过的很辛苦,互联网发展的越来越快,它容纳的数据也越来越多,用户请求也随之暴涨,而每一个用户请求都变成了对它的一个又一个读写操作,MySQL是苦不堪言。尤其是到“双11”、“618“这种全民购物狂欢的日子,都是MySQL受苦受难的日子。 据后来MySQL告诉我说,其实有一大半的用户请求都是读操作,而且经常都是重复查询一个东西,浪费它很多时间去进行磁盘I/O。 后来有人就琢磨,是不是可以学学CPU,给数据库也加一个缓存呢?于是我就诞生了! 出生不久,我就和MySQL成为了好朋友,我们俩常常携手出现在后端服务器中。 应用程序们从MySQL查询到的数据,在我这里登记一下,后面再需要用到的时候,就先找我要,我这里没有再找MySQL要。 为了方便使用,我支持好几种数据结构的存储: String Hash List Set SortedSet Bitmap ······ 因为我把登记的数据都记录在内存中,不用去执行慢如蜗牛的I/O操作,所以找我要比找MySQL要省去了不少的时间呢。 可别小瞧这简单的一个改变,我可为MySQL减轻了不小的负担!随着程序的运行,我缓存的数据越来越多

Django组件-ContentType

北慕城南 提交于 2020-11-22 02:00:03
ContentType组件 ContentType是Django的内置的一个应用,可以追踪项目中所有的APP和model的对应关系,并记录在ContentType表中。 当项目做数据迁移后,会有很多django自带的表,其中就有django_content_type表 ContentType组件应用 在model中定义ForeignKey字段,并关联到ContentType表,通常这个字段命名为content-type 在model中定义PositiveIntergerField字段, 用来存储关联表中的主键,通常用object_id 在model中定义GenericForeignKey字段,传入上面两个字段的名字 方便反向查询可以定义GenericRelation字段 postman from django.db import models from django.contrib.contenttypes.models import ContentType from django.contrib.contenttypes.fields import GenericForeignKey, GenericRelation # Create your models here. class Food(models.Model): """ id title 1 面包 2 牛奶 """

待业半年本想放弃Java,抱着试试的心态面试某C轮金融科技公司居然过了!

不打扰是莪最后的温柔 提交于 2020-11-21 21:47:08
个人背景: 开发4年,坐标杭州 金九银十已经过去了,写这篇文章的目的就是与大家谈谈面试方面的经验,心得,就个人方面而言,我之前做过的很多的工作都是面试造核弹,工作拧螺丝。但是不要因为自己是个拧螺丝的就不学哪些难啃的技术。当项目出问题的时候,就是考验技术沉淀的时候。我也迷茫过好长一段时间,学了忘,学了没用, 到底应该怎么成长才能成为一个别人眼中的大神,大牛。 关于面试,关于技术的,我只能说有些路只能靠自己去走,没人可以帮到自己,哪怕偶尔帮一到两次,但是技术的路这么长,总归需要自己独自成长的。 我们遇到每一次面试我们都应该认真对待,有机会一定要多面试,面试是一种非常锻炼自己的方式,不要错过任何—场面试,你 在面试的过程中,和对方讲自己所学,通过对方提问弥补自己的不足,这对自己提升会非常大。 下面我会为大家分享一下我最近的一次面试经历希望对大家有所帮助。总结的不全的地方也请各位海涵,欢迎在评论区留言指正。 下面就是我这次某C轮金融科技公司的面试经历了,总共是四面: 一面(技术面) 重点聊了Java各种集合的实现原理,以及使用场景,主要包括不限于,ArrayList,LinkedList,HashMap,HashSet,TreeMap 线程池的实现原理,线程池中的等待任务只有一个队列,如果线程池中的线程比较多,竞争会比较大,怎么解决? Java中实现高并发的几种策略(COW, cas, 锁

基于SpringBoot+uni-app 网易音乐云村项目

为君一笑 提交于 2020-11-21 13:29:01
功能简介 微信登录,发文本动态,发图文动态,发视频动态,关注,转发,评论,点赞,收藏等等 截图 技术栈 后端:Java,SpringBoot,MyBatis,MySQL,Redis 前端:uni-app 开发环境 后端:IntelliJ IDEA 前端:HbuilderX,微信开发者工具,QQ小程序开发者工具 项目运行 源码: 点击即可免费获取基于SpringBoot+uni-app 网易音乐云村项目 小结 开源不易,请尊重作者的付出,感谢!项目的发展离不开你的支持,请作者喝杯咖啡吧。 来源: oschina 链接: https://my.oschina.net/u/4309418/blog/4732157

拼多多四面(Java岗):多线程+算法+网络+MySQL+Redis+分布式

心已入冬 提交于 2020-11-21 12:36:38
一面 线程池由哪些组件组成,有哪些线程池,分别怎么使用,以及拒绝策略有哪些 写一题算法,层次遍历树并输出每层的层级 写一道题,二叉树的后序遍历,非递归算法。 什么时候多线程会发生死锁,写一个例子 说一说jdk1.8中,对hashMap的优化,对concurrentHashMap的优化 如何解决hash冲突的,以及如果冲突了,怎么在hash表中找到目标值 有1000个数据存在hashmap中,实际的数量是多少,考虑负载因子和扩容 常见的RPC有哪些?对应的区别和性能比较? 操作系统的用户态和核心态切换条件以及为什么要切换 线程间的通信方式,异步队列,消息延迟获取 二面 MySQL的主从复制怎么做 MySQL的索引,使用B+树索引的好处 MySQL性能查看以及如何优化 Redis是怎么做缓存的 Redis的持久化操作 如何利用redis处理热点数据 TCP三次握手的过程,如果没有第三次握手有什么问题。 分布式锁怎么实现 三面 cap了解么,分别指什么 网络编程nio和netty相关,netty的线程模型,零拷贝实现 Redis是单线程还是多线程?Redis的分布式集群怎么做? 分布式消息队列有哪些(Kafka等)?有使用过哪些?具体应用在什么场景? 负载均衡怎么做的呢,为什么这么做,了解过集群雪崩么。 谈谈高并发场景下削峰,限流的实现? 四面(HR) 为什么跳槽? 期望的薪资是多少?

Redis_主从复制

◇◆丶佛笑我妖孽 提交于 2020-11-21 12:21:06
主从复制 Redis的复制功能没有增量复制,每次重连都会把主库整个内存快照发给从库,所以需要避免向在线服务的压力较大的主库上增加从库。 Redis的复制由于会使用快照持久化方式,所以如果你的Redis持久化方式选择的是日志追加方式(aof), 那么系统有可能在同一时刻既做aof日志文件的同步刷写磁盘,又做快照写磁盘操作,这个时候Redis的响应能力会受到影响。 所以如果选用aof持久化,则加从库需要更加谨慎。 准备工作 cd /am/usr/redis mkdir slave-test cd slave-test mkdir 6000 6001 cd /am/usr/redis/redis-3.0.7 cp src/redis-server /am/usr/redis/slave-test cp src/redis-config /am/usr/redis/slave-test cd /am/usr/redis/slave-test cp redis.config /am/usr/redis/slave-test/redis-6000.config //-- ... 6001 启用主从复制 cd /am/usr/redis/slave-test vim redis-6000.config //-- 修改配置如下: daemonize yes port 6000 logfile "

Redis实战 | 5种Redis数据类型详解

六眼飞鱼酱① 提交于 2020-11-21 11:16:40
我们知道Redis是目前非常主流的KV数据库,它因高性能的读写能力而著称,其实还有另外一个优势,就是Redis提供了更加丰富的数据类型,这使得Redis有着更加广泛的使用场景。那Redis提供给用户的有哪些数据类型呢? 主要有:string(字符串)、List(列表)、Set(集合)、Hash(哈希)、Zset(有序集合)、HyperLogLogs(计算基数用的一种数据结构)、Streams(Redis 5.0提供一种建模日志用的全新数据结构)。 需要注意的是这里说的数据类型是指Redis值的数据类型,而Redis键的类型总是string。 本文主要详解一下前5种,也就是最常用的5种数据类型。剩下两种可上Redis官网(redis.io)自行了解下。另外,Redis已经是目前Java程序员面试必问内容,而 “Redis有哪些数据类型?” 更是面试官张口就来的基础问题。如果连这第一问都过不了,那基本上Redis这块已经凉凉了。 string | 字符串类型 redis的字符串类型,可以存储字符串、整数或者浮点数。如果存储的是整数或者浮点数,还能执行自增或者自减操作。 并且 redis的string类型是二进制安全的 ,它可以包含任何数据,比如一个序列化的对象、一个图片字节流等。不过存储大小是由上限的-512M 这里解释下二进制安全的含义:简单的来说

springboot相关面试题

五迷三道 提交于 2020-11-21 06:43:46
springboot和springmvc的区别 spring boot 内嵌tomcat,Jetty和Undertow容器,可以直接运行起来,不在再做部署; spring boot 自动配置,减少了xml文件的大量配置;降低了项目搭建的复杂度 Spring MVC是基于 Servlet 的一个 MVC 框架 主要解决 WEB 开发的问题,因为 Spring 的配置非常复杂,各种XML、 JavaConfig、hin处理起来比较繁琐。于是为了简化开发者的使用,从而创造性地推出了Spring boot,约定优于配置,简化了spring的配置流程。 Spring 是一个“引擎”; Spring MVC 是基于Spring的一个 MVC 框架 ; Spring Boot 是基于Spring4的条件注册的一套快速开发整合包。 springboot热部署的两种方式 SpringBoot 1.3后才拥有SpringBoot devtools热部署   ①:spring-boot-devtools ②:Spring Loaded   方式一:     在项目的pom文件中添加依赖: 1 <!--热部署jar--> 2 <dependency> 3 <groupId>org.springframework.boot</groupId> 4 <artifactId>spring-boot

【高可用架构】用Nginx实现负载均衡(三)

假装没事ソ 提交于 2020-11-21 06:20:18
前言 在上一篇,已经用Envoy工具统一发布了Deploy项目代码。本篇我们来看看如何用nginx实现负载均衡 负载均衡器IP 192.168.10.11 【高可用架构】系列链接: 待部署的架构介绍 演示 配置应用服务器 首先,需要将上一篇部署的两台应用服务器,都能够单独访问 配置192.168.10.12、192.168.10.18上nginx的config # vi /etc/nginx/config.d/dev.deploy.goods.conf server { listen 80; server_name dev.deploy.goods; index index.html index.htm index.php; location / { rewrite ^/(.*)$ /index.php/$1 last; try_files $uri $uri/ /index.php?$query_string; } location ~ (.+\.php)(.*)$ { root "/var/www/Deploy/public"; fastcgi_split_path_info ^(.+\.php)(.+)$; fastcgi_pass unix:/var/run/php-fpm/php7-fpm.sock; fastcgi_index index.php; include