数据库分库分表扫盲,不会用也得知道概念
# (一)什么是分库分表 分库分表故名思意是将一张表拆分成多个表,可能是一个库中的分表,也可能是分库又分表。分库分表主要解决的问题是数据库的性能瓶颈问题。即使建立索引,当数据量超过一定值时,查询效率就注定会降下来。通过分库分表,可以将原本的大数据拆分到多个表或者库中。 但是分库分表并非是很优的方式,在不需要分库分表的情况下,尽量不要盲目去拆分数据库,也不要过度拆分数据库。
# (一)什么是分库分表 分库分表故名思意是将一张表拆分成多个表,可能是一个库中的分表,也可能是分库又分表。分库分表主要解决的问题是数据库的性能瓶颈问题。即使建立索引,当数据量超过一定值时,查询效率就注定会降下来。通过分库分表,可以将原本的大数据拆分到多个表或者库中。 但是分库分表并非是很优的方式,在不需要分库分表的情况下,尽量不要盲目去拆分数据库,也不要过度拆分数据库。
# 前言 为了增加数据库的读能力,InnoDB设计了 Buffer Pool 缓冲池,将热点数据留在内存中,极大提高了数据库的读性能。除此之外,InnoDB还有一种叫做 Change Buffer的特性同样至关重要。 # 为什么需要 Change Buffer 相比于顺序读写,随机读写在操作系统上的性能是十分弱的。假设有下面一张表: CREATE TABLE `f
# 前言 首先问大家一个问题,如果你上生产的代码在执行delete的时候跳过了where条件,或者执行update时忘记加where条件了,导致大量数据被删除或更新,你会如何处理? 上面的这些问题可能会导致很多数据被错误的更新或删除,当遇到这种情况时,用开玩笑的说法来说只能删库跑路,而更应该学会的是如何将这些数据恢复。 # 数据安全策略 为了保证数据的安全性,DBA一般
# (一)概述 在日常使用各种app或者登陆网站的时候,基本都会看到短信验证码这个功能,实现短信验证码的方式有很多,这里给出基于SpringBoot和Redis的短信验证码实现方式。源码在文末 # (二)思路 把一切都简化,短信验证码的实现无法就是下面几点: 1、后端随机生成短信验证码,并在服务器端保存一定时间(一般是5分钟)。 2、将短信验证码发给用户。 3、用户
# (一)为什么要用Nosql 如果你是计算机专业学生 ,那么一定使用过关系型数据库mysql。在请求量小的情况下,使用mysql不会有任何问题,但是一旦同时有成千上万个请求同时来访问系统时,就会出现卡顿甚至系统崩溃的情况。最典型的例子就是早期的12306购票网站,一旦到了购票高峰期,12306肯定崩溃。造成这个原因的罪魁祸首就是关系型数据库。 关系型数据库存在两个问题
在前面一篇博客中我们已经学完了redis的五种数据类型操作,回顾一下,五种操作类型分别为:字符串类型(string)、列表类型(list)、散列类型(hash)、集合类型(set)、有序集合类型(sorted_set)。学完基础语法操作后下一步就是通过几个案例来实践操作一下redis。在这里不会采用任何其他语言,单纯使用redis进行模拟操作。 # (一)实例一:请求调用次数
五种数据类型都用到了key,key本身是一种字符串,通过key可以获取redis中保存的对象。这一篇博客就将介绍key的通用操作。 # (一)key基本操作 # 删除key del key 1 # key是否存在 exists key 1 # 获取key的类型 type key 1
# (一)前言 如果不把数据库和后端语言联系起来,就起不到数据库应该要起到的作用。Java语言通过JDBC操作mysql,用Jedis操作redis。当然了,java操作redis的方式不止jedis一种,现在我们主要使用Jedis来操作redis。 # (二)第一个jedis项目 # 2.1 搭建项目 首先搭建一个空的maven项目,在pom.xml中导入redis的
# (一)持久化的概述 持久化顾名思义就是将存储在内存的数据转存到硬盘中。在生活中使用word等应用的时候,如果突然遇到断电的情况,理论上数据应该是都不见的,因为没有保存的word内容都存放在内存里,断电后就会清空,但是重新开启电脑后会发现有一个~$xx.docx的文件,虽然不一定保存所有数据,但是会将大部分数据保存下来,这种“自动备份”这就是持久化的一种实际案例。 # (
# (一)事务的概念 谈到数据库的高级应用,不可避免会谈到事务。熟悉mysql的朋友们对事务肯定不陌生,简单来讲事务就是控制一个数据库操作序列要么全部执行要么全部不执行。今天我们就来了解redis中的事务是如何执行和使用的。 # (二)redis事务的操作 在mysql中,事务的执行通过以下三步: begin 开启事务 commit 提交事务 rollback