Redis

Redis核心知识(一)

烂漫一生 提交于 2020-10-14 21:23:22
Redis起步 传统ACID 关系型数据库遵循ACID规则 事务在英文中是transaction,和现实世界中的交易很类似,它有如下四个特性: 1、A ( Atomicity ) 原子性 原子性很容易理解,也就是说事务里的所有操作要么全部做完,要么都不做,事务成功的条件是事务里的所有操作都成功,只要有一个操作失败,整个事务就失败,需要回滚。比如银行转账,从A账户转100元至B账户,分为两个步骤:1)从A账户取100元;2)存入100元至B账户。这两步要么一起完成,要么一起不完成,如果只完成第一步,第二步失败,钱会莫名其妙少了100元。 2、C ( Consistency ) 一致性 一致性也比较容易理解,也就是说数据库要一直处于一致的状态,事务的运行不会改变数据库原本的一致性约束。 3、I (Isolation) 独立性 所谓的独立性是指并发的事务之间不会互相影响,如果一个事务要访问的数据正在被另外一个事务修改,只要另外一个事务未提交,它所访问的数据就不受未提交事务的影响。比如现有有个交易是从A账户转100元至B账户,在这个交易还未完成的情况下,如果此时B查询自己的账户,是看不到新增加的100元的 4、D (Durability) 持久性 持久性是指一旦事务提交后,它所做的修改将会永久的保存在数据库上,即使出现宕机也不会丢失。 Redis中的CAP C consistency

主流NoSQL及应用场景详解

南笙酒味 提交于 2020-10-14 13:33:24
点击上方“朱小厮的博客”,选择“设为星标” 后台回复"书",获取 来源:r6d.cn/r4P7 对比传统关系型数据库,NoSQL有着更为复杂的分类——键值、面向文档、列存储以及图数据库。这里就带你一览NoSQL各种类型的适用场景及一些知名公司的方案选择。 在过去几年,关系型数据库一直是数据持久化的唯一选择,数据工作者考虑的也只是在这些传统数据库中做筛选,比如SQL Server、Oracle或者是MySQL。甚至是做一些默认的选择,比如使用.NET的一般会选择SQL Server;使用Java的可能会偏向Oracle,Ruby是MySQL,Python则是PostgreSQL或MySQL等等。 原因很简单,过去很长一段时间内,关系数据库的健壮性已经在多数应用程序中得到证实。我们可以使用这些传统数据库良好的控制并发操作、事务等等。然而如果传统的关系型数据库一直这么可靠,那么还有NoSQL什么事?NoSQL之所以生存并得到发展,是因为它做到了传统关系型数据库做不到的事! 关系型数据库中存在的问题 Impedance Mismatch 我们使用Python、Ruby、Java、.Net等语言编写应用程序,这些语言有一个共同的特性——面向对象。但是我们使用MySQL、PostgreSQL、Oracle以及SQL Server,这些数据库同样有一个共同的特性——关系型数据库。这里就牵扯到了

我敢打赌!这绝对是10月整理的最全的《高频Java面试题集合》

核能气质少年 提交于 2020-10-14 11:51:25
周末,天气放晴,玩的还挺开心, 过后,我像往常一样坐在窗台,看着电脑“发呆”,就不给大家分享技术干货了。 给大家整理一份面试清单总结吧, 都是一些基础的题, 但是IT公司就喜欢考这些基础的东西,所以为了能进大公司就~当复习期末考吧。 花了不少时间整理,在整理过程中也学到了很多东西,请大家认真对待每一题! 面试题模块介绍: 一、Java 基础 JDK 和 JRE 有什么区别? == 和 equals 的区别是什么? 两个对象的 hashCode()相同,则 equals()也一定为 true,对吗? final 在 java 中有什么作用? java 中的 Math.round(-1.5) 等于多少? String 属于基础的数据类型吗? java 中操作字符串都有哪些类?它们之间有什么区别? String str="i"与 String str=new String("i")一样吗? 如何将字符串反转? String 类的常用方法都有那些? 抽象类必须要有抽象方法吗? 普通类和抽象类有哪些区别? 抽象类能使用 final 修饰吗? 接口和抽象类有什么区别? java 中 IO 流分为几种? BIO、NIO、AIO 有什么区别? Files的常用方法都有哪些? 二、容器 java 容器都有哪些? Collection 和 Collections 有什么区别? List、Set、Map

大部分人都不知道!原来今天不只是中秋节,还是程序员节

…衆ロ難τιáo~ 提交于 2020-10-14 10:57:18
今天不但是大家熟知的中秋节,其实也是我们程序员的节日! 程序员节是一个国际上被众多科技公司和软件企业承认的业内人士节日。日期是在每年的第256( 十六进制 为0x100,或28)天,也就是 平年 的9月13日或 闰年 的9月12日。 它是 俄罗斯 的一个官方 节日 ,其他国家的程序员社群也庆祝这个节日。 之所以选择256(28),是因为它是一个被程序员们所熟知的8 比特 基数。用1个 字节 (等于8 比特 )最多能表示256个数值,而且在 平年 中,256是2的最大幂中小于365的值。与此同时,也有人提出象征2的10次方的10月24日才是程序员日。 也有人提出将10月10日作为程序员日,因为在计算机世界中,文件都是由1和0这两个二进制数字组成的。中国有人定10月24日为程序员节,因2的10次方 = 1024。 祝大家中秋节和程序员节快乐。 新福利: 从9月11日开始至10月15日截止,一共五周时间,每周二我会从公众号底部留言互动最多的读者中抽取一名读者,免费包邮送实体新书《HBase原理与实践》,留言互动起来吧~ 猜你喜欢 1、 七问Redis,才知道我与技术大牛的差距在哪里 2、 这可能是学习 Spark Delta Lake 最全的资料 3、 基于 MySQL Binlog 的 Elasticsearch 数据同步实践 4、 大数据面试知识图谱 扫码关注我们 过往记忆大数据

基于flink和drools的实时日志处理

橙三吉。 提交于 2020-10-14 01:01:25
1、背景 日志系统接入的日志种类多、格式复杂多样,主流的有以下几种日志: filebeat采集到的文本日志,格式多样 winbeat采集到的操作系统日志 设备上报到logstash的syslog日志 接入到kafka的业务日志 以上通过各种渠道接入的日志,存在2个主要的问题: 格式不统一、不规范、标准化不够 如何从各类日志中提取出用户关心的指标,挖掘更多的业务价值 为了解决上面2个问题,我们基于flink和drools规则引擎做了实时的日志处理服务。 2、系统架构 架构比较简单,架构图如下: 各类日志都是通过kafka汇总,做日志中转。 flink消费kafka的数据,同时通过API调用拉取drools规则引擎,对日志做解析处理后,将解析后的数据存储到Elasticsearch中,用于日志的搜索和分析等业务。 为了监控日志解析的实时状态,flink会将日志处理的统计数据,如每分钟处理的日志量,每种日志从各个机器IP来的日志量写到Redis中,用于监控统计。 3、模块介绍 系统项目命名为eagle。 eagle-api:基于springboot,作为drools规则引擎的写入和读取API服务。 eagle-common:通用类模块。 eagle-log:基于flink的日志处理服务。 重点讲一下eagle-log: 对接kafka、ES和Redis 对接kafka和ES都比较简单

解密阿里云Redis 6.0极速上云:内核能力与云原生管控

痴心易碎 提交于 2020-10-14 00:50:16
2020年5月2日,Redis 6.0 GA版正式发布,这个版本被作者誉为社区版史上最大的一次发布,包含诸如 RESP3新协议支持、ACL 管理、多 IO 线程、SSL 加密、客户端缓存与集群代理等多项重大关键功能更新和内核架构提升。不到一周的时间,2020年5月7日,阿里云全球首发(除原厂)最新版 Redis 6.0云数据库,全面涵盖开源Redis 6.0各项功能,在阿里云,用户可以第一时间体验到最新版 Redis 的各项功能,构建高性能、场景丰富的应用系统。短短几天时间,阿里云Redis是如何做到极速上云的呢?总结起来,阿里云Redis团队对内核深度的掌控能力和云原生管控强大的助力是两大主因。 内核的掌控能力 首先可以看到,这次社区版6.0中阿里云Redis团队的贡献排在第二位,仅次于仅次于作者和其所在的商业公司,高居原厂外代码贡献第一名,充分说明了阿里云Redis对内核的掌控能力,在6.0正式GA之前阿里云团队便开始不断对这些新feature进行测试和优化,将云上积累的东西反馈给社区,引导社区的发展。 另一方面,本次6.0的很多新功能阿里云Redis企业版Tair很早就已经具备了,像多IO线程、权限管理、SSL加密以及集群proxy。在线下阿里云Redis团队成员也和作者多次沟通,就Tair上的实现方案与他进行深入探讨。比如多IO线程,从RC1到GA

Nginx + Docker 多阶段构建的部署学习

那年仲夏 提交于 2020-10-13 07:39:08
  前几天部署了一个网站,原来我一直是发布完成之后,通过ftp把文件上传上去,有几个大佬给我说了多阶段构建,此时我就不需要发布再搞了,直接将项目添加docker支持。 #See https: // aka.ms/containerfastmode to understand how Visual Studio uses this Dockerfile to build your images for faster debugging. FROM mcr.microsoft.com /dotnet/core/aspnet: 3.1 -buster-slim AS base WORKDIR / app EXPOSE 80 FROM mcr.microsoft.com /dotnet/core/sdk: 3.1 - buster AS build WORKDIR / src COPY [ " amusinghoS.App/amusinghoS.App.csproj " , " amusinghoS.App/ " ] COPY [ " amusinghoS.Entity/amusinghoS.EntityData.csproj " , " amusinghoS.Entity/ " ] COPY [ " amusinghoS.Shared/amusinghoS.Shared.csproj "

10k+点赞的Spring Boot权限管理系统竟然出了详细教程!爱了!

北战南征 提交于 2020-10-12 13:54:29
eladmin 是一款基于 Spring Boot 2.1.0 、 Jpa、 Spring Security、redis、Vue 的前后端分离的后台管理系统,项目采用分模块开发方式, 权限控制采用 RBAC,支持数据字典与数据权限管理,支持一键生成前后端代码,支持动态路由。 这个开源项目基本稳定,并且后续作者还会继续优化。完全开源!这个真的要为原作者点个赞,如果大家觉得这个项目有用的话,建议可以稍微捐赠一下原作者支持一下。后端整理代码质量、表设计等各个方面来说都是很不错的。前后端分离,前端使用的是国内常用的 vue 框架,也比较容易上手。 后台首页 角色管理页面 另外,作者最近还提供了一份详细的文档帮助小伙伴们学习这个项目。 文档从环境搭建到后端每一块的详细设计都有涵盖,非常适合拿来学习! 如何获取项目地址和文档地址? 扫描关注我朋友的公众号后回复“ 004 ”即可! 来源: oschina 链接: https://my.oschina.net/u/4364002/blog/4669964