![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
数据库
数据库各种
Arthur-Ji
不要崇拜,不要自卑
不要盲目相信高势能
不要随波逐流
脚踏实地
展开
-
夜深人静写算法(十四)- 基数估计 (Cardinality Estimation)
目录 一、概述 1、最小值估值法 2、哈希法 3、k-前缀法 二、Linear Counting 1、算法思路 2、算法证明 三、LogL...转载 2021-03-06 16:26:50 · 1918 阅读 · 0 评论 -
redis压缩列表 ziplist实现hash
ziplist 编码的哈希对象使用压缩列表作为底层实现, 每当有新的键值对要加入到哈希对象时, 程序会先将保存了键的压缩列表节点推入到压缩列表表尾, 然后再将保存了值的压缩列表节点推入到压缩列表表尾, 因此:保存了同一键值对的两个节点总是紧挨在一起, 保存键的节点在前, 保存值的节点在后;先添加到哈希对象中的键值对会被放在压缩列表的表头方向, 而后来添加到哈希对象中的键值对会被放在压缩列表的表尾方向。作者:one_zheng链接:https://www.jianshu.com/p/2095df8ae转载 2021-03-06 15:45:14 · 1172 阅读 · 0 评论 -
Redis持久化----RDB和AOF 的区别
关于Redis说点什么,目前都是使用Redis作为数据缓存,缓存的目标主要是那些需要经常访问的数据,或计算复杂而耗时的数据。缓存的效果就是减少了数据库读的次数,减少了复杂数据的计算次数,从而提高了服务器的性能。一、redis持久化----两种方式1、redis提供了两种持久化的方式,分别是RDB(Redis DataBase)和AOF(Append Only File)。2、RDB,简而言之,就是在不同的时间点,将redis存储的数据生成快照并存储到磁盘等介质上;3、A转载 2021-03-05 09:37:24 · 194 阅读 · 1 评论 -
Spring Repository解析---以Mongo Repository为例
摘要 Spring 为java web 开发领域提供了大量的优秀的框架,第三方包,大大解放了生产力,本文主要介绍Spring Repository在连接数据库这边做的一些封装,并以Mongo Repository为例,详细阐述下Repository实现机制,本文基于spring-data-mongo1.10.4 问题 在使用Re...转载 2021-01-21 23:42:41 · 395 阅读 · 0 评论 -
Spring DevTools 介绍
Spring DevTools 介绍 Spring Boot包括一组额外的工具,可以使应用程序开发体验更加愉快。 spring-boot-devtools模块可以包含在任何项目中,它可以节省大量的时间。 想要使用devtools支持,只需将模块依赖关系添加到你的构建中: Maven. <dependencies> ...转载 2021-01-21 21:07:33 · 1064 阅读 · 0 评论 -
mybatis的两种分页方式:RowBounds和PageHelper
1.原理:拦截器。使用方法:RowBounds:在mapper.java中的方法中传入RowBounds对象//接口方法public List<Honor> getHonorList(HashMap<String, Object> maps,RowBounds rowBounds);//调用方法RowBounds rowBounds = new RowBounds(offset, page.getPageSize()); // offset起始行 // li...转载 2021-01-21 17:54:24 · 1768 阅读 · 0 评论 -
PageHelper使用方法
使用方法1. 引入分页插件引入分页插件有下面2种方式,推荐使用 Maven 方式。1). 引入 Jar 包你可以从下面的地址中下载最新版本的 jar 包https://oss.sonatype.org/content/repositories/releases/com/github/pagehelper/pagehelper/http://repo1.maven.org/maven2/com/github/pagehelper/pagehelper/由于使用了sql 解析工具,你还转载 2021-01-21 17:13:49 · 5403 阅读 · 0 评论 -
SQL SELECT DISTINCT 语句
SQL SELECT DISTINCT 语句SQL selectSQL where本章讲解 SELECT DISTINCT 语句。SQL SELECT DISTINCT 语句在表中,可能会包含重复值。这并不成问题,不过,有时您也许希望仅仅列出不同(distinct)的值。关键词 DISTINCT 用于返回唯一不同的值。语法:SELECT DISTINCT 列名称 FROM 表名称使用 DISTINCT 关键词如果要从 "Company" 列中选取所有的值,我们需要使用.转载 2021-01-21 13:33:10 · 180 阅读 · 0 评论 -
使用 Spring Cache + Redis 作为缓存
本文介绍如何使用 spring-cache,以及集成 Redis 作为缓存实现。表格过长,推荐读者使用电脑阅读准备工作Redis windows 安装如何配置1. maven完整依赖详见 ==> Gitee<!-- 使用spring cache --><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boo.转载 2020-12-21 11:08:43 · 205 阅读 · 0 评论 -
Docker下的Redis
安装最简单:docker pull redis Redis 如果对数据的保存没有啥要求,对默认配置也没用做修改,所以直接用 Docker 跑起来就可以了docker run -d --restart=always \--name redis \redis开启持久化存储redis-server --appendonly yes映射宿主机的目录到容器-v /docker/redisdata:/data开放容器端口,默认服务端口是6379.-p 6379:6379这里的-d 放在 后面转载 2020-12-17 13:28:29 · 82 阅读 · 0 评论 -
SpringBoot使用Redis做缓存,@Cacheable、@CachePut、@CacheEvict等注解的使用
SpringBoot使用Redis做缓存,@Cacheable、@CachePut、@CacheEvict等注解的使用导入依赖<dependency> <groupId>org.springfr...转载 2020-09-17 10:54:35 · 872 阅读 · 0 评论 -
SpringBoot缓存注解@CacheConfig, @CachePut, @CachePut , @CacheEvict 使用
开启缓存注解java类配置:@Configuration@EnableCachingpublic class AppConfig {}@CacheConfig一个类中可能会有多个缓存操作,而这些缓存操作可能是重复的。这个时候可以使用@CacheConfig(@CacheConfig is a class-level annotation that allows to share the cache ...转载 2020-09-17 10:26:01 · 593 阅读 · 2 评论 -
@JsonIgnoreProperties解决jackson 序列化Hibernate entity类无限递归的问题
Hibernate 这种ORM框架 通过实体类间相互关联来表示数据库表数据的外键。在使用Jackson序列化时就会出现无限循环或递归的问题导致序列化报错。现在百度一搜就会出现很多几乎一样的解决方法,使用@JsonIgnore,@JsonIdentityInfo,@JsonManagedReference and @JsonBackReference这几个注解,这里就不在写同样的东西了。我们要说一下@JsonIgnoreProperties这个注解, 当然网络上也有这...转载 2020-09-19 11:27:25 · 488 阅读 · 0 评论 -
MySQL 各种超时参数的含义
MySQL 各种超时参数的含义今日在查看锁超时的设置时,看到show variables like '%timeout%';语句输出结果中的十几种超时参数时突然想整理一下,不知道大家有没有想过,这么多的timeout参数,到底有什么区别,都是做什么用的呢?MySQL [(none)]> show variables like '%timeout%';+------------------------------+----------+| Variable_name ...转载 2020-11-15 13:33:13 · 1561 阅读 · 0 评论 -
Could not create connection to database server. Attempted reconnect 3 times. Giving up.
Could not create connection to database server. Attempted reconnect 3 times. Giving up. : com.mysql.cj.exceptions.CJCommunicationsException: Communications link failure sed by: javax.net.ssl.SSLHandshakeException: java.security.cert.CertificateException.原创 2020-11-15 13:15:42 · 3104 阅读 · 0 评论 -
Docker下安装MySQL,普通安装方式和docker-compose方式安装
Docker下安装MySQL,普通安装方式和docker-compose方式安装 方式一 搜索MySQL镜像 docker search mysql1 拉取镜像 docker pull mysql:5.71 运行 docker run -d -p 3306:3306 mysql:5.71 上面这种方式简单,但是没...转载 2020-11-14 13:27:58 · 184 阅读 · 0 评论 -
B树和B+树 mysql
原文链接:面试官问你B树和B+树,就把这篇文章丢给他在看这篇文章之前,我们回顾一下前面的几篇关于MySQL的文章,应该对你读下面的文章有所帮助。InnoDB与MyISAM等存储引擎对比 面试官问你B树和B+树,就把这篇文章丢给他 MySQL的B+树索引的概念、使用、优化及使用场景 MySQL全文索引最强教程 MySQL的又一神器-锁,MySQL面试必备1 B树在介绍B+树之前, 先简单的介绍一下B树,这两种数据结构既有相似之处,也有他们的区别,最后,我们也会对比一下这两种数据结构.转载 2020-09-20 20:43:44 · 215 阅读 · 0 评论 -
为什么 MySQL 使用 B+ 树
为什么 MySQL 使用 B+ 树2019-12-11为什么这么设计系统设计MySQLB+树B树数据结构为什么这么设计(Why’s THE Design)是一系列关于计算机领域中程序设计决策的文章,我们在这个系列的每一篇文章中都会提出一个具体的问题并从不同的角度讨论这种设计的优缺点、对具体实现造成的影响。如果你有想要了解的问题,可以在文章下面留言。为什么 MySQL 使用 B+ 树是面试中经常会出现的问题,很多人对于这个问题可能都有一些自己的理解,但是多数的回答都不够完整和准确,大多数人都只会简转载 2020-09-20 20:27:29 · 99 阅读 · 0 评论 -
『浅入浅出』MySQL 和 InnoDB
『浅入浅出』MySQL 和 InnoDB2017-08-06MySQLInnoDB数据库作为一名开发人员,在日常的工作中会难以避免地接触到数据库,无论是基于文件的 sqlite 还是工程上使用非常广泛的 MySQL、PostgreSQL,但是一直以来也没有对数据库有一个非常清晰并且成体系的认知,所以最近两个月的时间看了几本数据库相关的书籍并且阅读了 MySQL 的官方文档,希望对各位了解数据库的、不了解数据库的有所帮助。本文中对于数据库的介绍以及研究都是在 MySQL 上进行的,如果涉及到了其他数据库转载 2020-09-18 14:44:16 · 121 阅读 · 0 评论 -
MySQL - SELECT LAST_INSERT_ID() 使用总结
当一个页面中包含了多个表存储的时候,这时候需要有个主键进行更新其他表。比如:新增用户信息,但是 用户信息包含的一部分信息在其它表中,这时候你需要通过用户id来进行add,这时候你如果用普通的insert,只会返回0和1,这时候就需要用到这个函数了。目录函数介绍举个例子官方文档LAST_INSERT_ID() LAST_INSERT_ID(expr)函数介绍SELECT LAST_INSER...转载 2020-08-04 16:53:28 · 3072 阅读 · 0 评论