
DATABASES
文章平均质量分 89
Smiling Mr. Rui
互相学习,共同进步
展开
-
Redis的数据持久化
key中对应数据存在,当key中对应的数据在缓存中过期,此时又有大量请求访问该数据,由于缓存中过期了,请求会直接访问数据库并回设到缓存中,高并发访问数据库会导致数据库崩溃。一个不存在缓存及查询不到的数据,由于缓存是不命中时被动写的,并且出于容错考虑,如果从存储层查不到数据则不写入缓存,这将导致这个不存在的数据每次请求都要到存储层去查询,失去了缓存的意义。key中对应数据存在,在某一时刻,缓存中大量key过期,而此时大量高并发请求访问,会直接访问后端数据库,导致数据库崩溃。原创 2024-02-06 10:50:17 · 1410 阅读 · 0 评论 -
Redis发布订阅及事务管理
在执行multi之前,先执行 watch key1 [key2 ....] 用于指定key的监视,如果在事务执行前这些key被其他命令锁改动,那么事务将被打断。用于取消命令对所有key的监视,如果在执行watch命令之后,Exec或DisCard命令先被执行的话,那么就不需要再次执行unwatch。4、在事务的执行过程中,会按照顺序串行化执行队列中的命令,其他客户端提交的命令请求,不会插入到事务执行的命令序列中.3、收到Exec命令后,进入事务执行,如果事务中有任意命令执行失败,其余的命令依旧会执行;原创 2024-02-06 10:24:05 · 1395 阅读 · 0 评论 -
Redis的配置文件
设置 tcp 的 backlog,backlog 其实是一个连接队列,backlog队列总和 = 未完成三次握手队列 + 已经完成三次握手队列。配置大小单位,开头定义了一些基本的度量单位,只支持 bytes,不支持 bit。类似 JSP 程序中的 include,多实例的情况可以把公用的配置文件提取出来。单位为秒,如果设置为0,则不会进行 Keepalive 检测,建议设置成 60。在不写的情况下,无限制接受任何 IP 地址的访问。一个空闲的客户端维持多少秒会关闭,0表示关闭该功能。端口号,默认6379。原创 2024-02-05 11:11:18 · 3409 阅读 · 0 评论 -
Redis的数据类型与示例演示
现代计算机用二进制(位) 作为信息的基础单位, 1个字节等于8位, 例如“abc”字符串是由3个字节组成, 但实际在计算机存储时将其用二进制表示, “abc”分别对应的ASCII码分别是97、 98、 99, 对应的二进制分别是01100001、 01100010和01100011,如下图:合理地使用操作位能够有效地提高内存使用率和开发效率。原创 2024-02-05 11:03:40 · 1478 阅读 · 0 评论 -
Redis数据库介绍
2008年,意大利的一家创业公司Merzia推出了一款基于MySQL的网站实时统计系统LLOOGG,然而没过多久该公司的创始人 Salvatore Sanfilippo便开始对MySQL的性能感到失望,于是他决定亲自为LLOOGG量身定做一个数据库,并于2009年开发完成,这个数据库就是Redis。原创 2024-02-04 10:56:37 · 884 阅读 · 0 评论 -
NoSQL(非关系型数据库)
BASE 是为了解决关系型数据库强一致性引起的问题而导致可用性降低而提出的解决方案.基本可用(==B==asically ==A==vailable) 软状态(==S==oft state) 最终一致(==E==ventually consistent)它的思想是通过让系统放松对某一时刻数据一致性的要求来换取系统整体伸缩性和性能上改观。原创 2024-02-04 10:46:13 · 1496 阅读 · 0 评论 -
MySQL事务和SQL优化
事务(Transaction),是我们数据库内最小且不可再分的单元。通常一个事务对应一个完整的业务(例如银行账户转账业务,该业务就是一个最小的工作单元)。一个完整的业务需要批量的DML(INSERT 、UPDATE、DELETE)语句共同联合完成。事务只和DML语句有关,或者说DML语句才有事务。这个和业务逻辑有关,业务逻辑不同,DML语句的个数不同。操作序列范畴,这些序列共有的一个特征 要么全部执行,要么全都不执行。这是一个不可分割的工作单元。事务是由事务开始和事务结束之间所执行的数据库操作组成。原创 2024-02-03 19:55:47 · 1029 阅读 · 0 评论 -
SQL编程中(触发器、存储过程与函数、游标的使用)
触发器是一种比较特殊的存储过程,它的执行不是由程序调用,也不是手工调用,而是通过事件来进行触发,比如说 对一张表 进行(增,删,改),去激活它的执行。触发器经常应用在加强数据完整性,和业务规则中,如:当一个学生表中添加了一个学生信息时,那么对应的学生数目肯定会有所改变。像这样的情况,我们就可以针对学生表创建一个触发器:以确保每次增加一个学生记录时,就执行一次关于学生总数的计算操作,从而确保学生总数与记录数的一致性。存储过程指的是事先经过了编译并以对象形式存储在数据库中的一段sql语句的集合。原创 2024-02-03 17:19:54 · 2533 阅读 · 0 评论 -
MySQL中的视图与索引
索引是一种很特殊的数据库结构,可以用来快速查询数据库表中的特定记录。它也是提高数据库性能的重要手段。从理论上分析,在MySql中,所有的数据类型,都可以被索引。常见的索引:普通索引、惟一性索引、全文索引、单列索引、多列索引和空间索引等。模式(schema)中的一个数据库对象在数据库中用来加速对表的查询通过使用快速路径访问方法快速定位数据,减少了磁盘的I/O与表独立存放,但不能独立存在,必须属于某个表由数据库自动维护,表被删除时,该表上的索引自动被删除。原创 2024-02-02 23:53:59 · 1571 阅读 · 0 评论 -
MySQL的备份与恢复
可以用选项来指定mysqld保存错误日志文件的位置,如果没有给定file_name值,mysqld使用错误日志名host_name.err 并在数据目录中写入日志文件,如果执行刷新操作,错误日志用-old重新命名后缀并且mysqld创建一个新的空日志文件。原创 2024-02-02 20:59:35 · 1223 阅读 · 0 评论 -
SQL的函数类型
定义:聚合函数是指对一组值进行运算,最终返回是单个值,也可以被称为组合函数。备注:除COUNT函数之外,其他的聚合函数都会忽略NULL值。原创 2024-02-01 18:49:07 · 1368 阅读 · 0 评论 -
SQL语句之DML && DQL
在MySQL数据库中,SQL语句分类有DDL、DCL、DML与DQL,今天我们就来学习一下数据操作语言(DML)以及数据查询语言(DQL)。原创 2024-02-01 16:34:25 · 1005 阅读 · 1 评论 -
MySQL表的基本操作
需要注意的是检查约束在8.0版本之前,MySQL默认但不会强制的遵循check约束(写不报错,但是不生效,需要通触发器完成),8.0版本之后就开始正式支持这个约束了。为新的行产生唯一的标识,一个表只能有一个auto_increment,且该属性必须为主键的一部分。从表外键列的值必须在主表参照列值的范围内,或者为空(也可以加非空约束,强制不允许为空)约束主要用于保证数据库的完整性,当表中数据有相互依赖性时,可以保护相关的数据不被删除。外键是构建于一个表的两个字段或者两个表的两个字段之间的关系。原创 2024-01-31 19:10:49 · 1255 阅读 · 0 评论 -
通过实例理解触发器的使用方法
触发器是一种比较特殊的存储过程,它的执行不是由程序调用,也不是手工调用,而是通过事件来进行触发。比如说 对一张表 进行(增,删,改),去激活它的执行。触发器经常应用在加强数据完整性,和业务规则中,如:当一个学生表中添加了一个学生信息时,那么对应的学生数目肯定会有所改变。像这样的情况,我们就可以针对学生表创建一个触发器:以确保每次增加一个学生记录时,就执行一次关于学生总数的计算操作,从而确保学生总数与记录数的一致性。原创 2024-01-31 13:18:23 · 672 阅读 · 1 评论 -
数据库:根据学校的业务规则画出E-R图以及数据库模型图,并构建一个简单的数据库
梳理完实体之间以及它们的属性后,我们要思考它们之间的代数关系,代数关系包括一对一、多对一/一对多、多对多(1-1、N-1/1-N、M-N)。接下来我们就要考虑每一个实体应该包含哪些属性,因为这在我们这道题中并没有表明,所以我们可以进行发散性思维,如学生必然是有学号的,当然还有姓名、性别、电话、邮箱等等,那么年级肯定要有编号、具有唯一性,科目有课程编号、课程名称,成绩有考试时间、考试成绩等。、姓名、性别、年级编号、手机号码、出生日期、家庭住址、邮箱、身份证号)4,成绩(学号、课程编号、考试时间、考试成绩)原创 2024-01-27 16:24:59 · 2355 阅读 · 0 评论 -
SQL语句创建一个简单的银行数据库
【代码】SQL语句创建一个简单的银行数据库。原创 2024-01-26 20:10:48 · 1672 阅读 · 0 评论 -
数据库设计和数据库对象
我们为什么要进行数据库设计呢?一个成熟完善的数据库设计可以带给我们什么好处呢?而糟糕的数据库设计又会给我们带来什么不便呢?学习本篇文章,你将对数据库设计的步骤有一个框架概念,并通过实例教会你如何让绘制E-R图以及如何转换为数据库模型图。原创 2024-01-22 14:15:00 · 1018 阅读 · 0 评论 -
MySQL的基本操作
SQL:结构化查询语句,是在关系型数据库上执行数据操作、数据检索与数据维护的标准化语言,如果想要使用MySQL数据库,必须学习SQL语句。管理员可以通过SQL语句完成以下任务:1,改变数据库的结构2,更改系统的安全设置3,增加用户对数据库或者表的许可权限4,在数据库中检索出所需信息5,对数据库的信息进行更新、备份、还原。原创 2024-01-22 10:46:30 · 1015 阅读 · 0 评论 -
数据库入门:快速了解数据库
描述事务的符号记录,包含但不限于数字、 文字、图形、图像、声音、语言等。数据有多重形式,它们都可以经过数字化后存入计算机。数据库:数据仓库是长期存放在计算机内、有组织、可共享的大量数据的集合。数据库中的数据按照一定数据模型组织、描述和存储,特征:较小的冗余度,较高的独立性和易扩展性。为迎合用户的使用和共享,于是它的特征有如下几点:1、数据要具备结构化特征2、数据的冗余度要小,共享性要高,扩充性要强3、针对于原子性数据,独立性要强4、数据要有统一的管理和控制。原创 2024-01-21 21:56:51 · 1174 阅读 · 0 评论