DB
ipuxin·一朴心
天道酬勤,厚德载物
一个人也可以很快乐,只是偶尔难过
展开
-
为什么有意向锁
意向锁的作用:探路InnoDB 共享锁,排它锁是行级锁,事务操作到行,才发现被锁,是很耗费资源的,因此,表级的意向锁就很重要了。排它在事务锁定某行前,先行对表施加共享或排它意向锁,于是,后来的事务便很容易知道自己是否可以施加某种行锁了。...原创 2020-05-09 07:53:15 · 797 阅读 · 0 评论 -
AB 0401 Redis持久化与数据恢复
AB 0401 Redis持久化与数据恢复两种持久化:镜像 与 日志RDBRedis默认每隔一定时间,将内存数据写入磁盘。配制找到RDB备份位置查看配制文件位置[root@iZwz93nemx8syarb3b4zspZ ~]# ps aux | grep redisroot 2802 0.0 0.0 112724 996 pts/0 R+ 08...原创 2020-05-03 10:57:44 · 289 阅读 · 0 评论 -
AA 15 Redis 管道与压力测试
管道大多数同学一直以来对 Redis 管道有一个误解,他们以为这是 Redis 服务器提供的一种特别的技术,有了这种技术就可以加速 Redis 的存取效率。但是实际上 Redis 管道 (Pipeline) 本身并不是 Redis 服务器直接提供的技术,这个技术本质上是由客户端提供的,跟服务器没有什么直接的关系。下面我们对这块做一个深入探究。Redis 的消息交互当我们使用客户端对 Redi...原创 2020-04-30 23:13:06 · 170 阅读 · 0 评论 -
AA 16 Redis事务
事务javabegin();try { command1(); command2(); .... commit();} catch(Exception e) { rollback();}Redismulti 指示事务的开始,exec 指示事务的执行,discard 指示事务的丢弃。> multiOK> incr bo...原创 2020-04-29 09:38:13 · 164 阅读 · 0 评论 -
AB 03 分布式锁
问题原子性问题指令 setnx 和 expire 组合在一起的原子指令,是分布式锁的奥义所在。> set lock:codehole true ex 5 nxOK... do something critical ...> del lock:codehole超时问题随机数通过随机数,释放锁时先匹配随机数是否一致,然后再删除 key,确保这个锁是过期了被服务...原创 2020-04-27 08:08:30 · 243 阅读 · 0 评论 -
Redis 基础
Redis 基础远程字典服务Remote Dictionary Service安装后台启动服务端./redis-server --daemonize yes启动客户端:redis-cli用途记录帖子的点赞数、评论数和点击数 (hash)。记录用户的帖子 ID 列表 (排序),便于快速显示用户的帖子列表 (zset)。记录帖子的标题、摘要、作者和封面信息,用于列...原创 2020-04-26 11:10:55 · 214 阅读 · 0 评论 -
mysql技术内幕--innodb存储引擎图解
Innodb存储引擎Innodb事务innodb索引与算法Innodb锁原创 2020-04-19 16:29:54 · 154 阅读 · 0 评论 -
MySQL 最大连接数 iops
IOPS (Input/Output Operations Per Second),即每秒进行读写(I/O)操作的次数,多用于数据库等场合,衡量随机访问的性能。存储端的IOPS性能和主机端的IO是不同的,IOPS是指存储每秒可接受多少次主机发出的访问,主机的一次IO需要多次访问存储才可以完成。例如,主机写入一个最小的数据块,也要经过“发送写入请求、写入数据、收到写入确认”等三个步骤,也就是3个存储...原创 2020-03-21 12:23:56 · 1462 阅读 · 0 评论 -
Mac 安装MongoDB和图形化工具MongoDB Compass Community
安装MongoDB# 官网下载,解压,放到:/usr/local#环境变量vim ~/.bash_profile#添加PATH="/usr/local/mongodb/bin:${PATH}"export PATH# 使生效source vim ~/.bash_profilemongod -versiondb version v4.2.3git version: 68...原创 2020-02-20 00:18:53 · 1833 阅读 · 0 评论 -
Elasticsearch 弹性搜索(二)单机配制
配制# 编辑配制文件vim /home/www_my/sys-software/es1/config/elasticsearch.ymlxpack.ml.enabled: false ...原创 2020-02-17 22:07:56 · 177 阅读 · 0 评论 -
为什么会产生Elasticsearch?
大规模数据如何检索?如:当系统数据量上了10亿、100亿条的时候,我们在做系统架构的时候通常会从以下角度去考虑问题:1)用什么数据库好?(mysql、sybase、oracle、达梦、神通、mongodb、hbase…)2)如何解决单点故障;(lvs、F5、A10、Zookeep、MQ)3)如何保证数据安全性;(热备、冷备、异地多活)4)如何解决检索难题;(数据库代理中间件:mysql-...原创 2020-02-16 22:19:56 · 164 阅读 · 0 评论 -
Elasticsearch 弹性搜索(一)下载
安装JDK 环境检查版本java -versionjava version "1.8.0_121"下载 ElasticSearch官网 linux 下载wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.6.0-linux-x86_64.tar.gz国内镜像解压tar -x...原创 2020-02-14 22:57:33 · 178 阅读 · 0 评论 -
MySQL 计算排名
# 查询每日积分大于 $sum 的人数select count(*) rank from(SELECT sum( change_money ) rank_in FROM `benben_user_change` WHERE `change_type` > 14 and add_time>{$start_time} and add_time<{$end_time}GROUP ...原创 2020-02-06 22:08:36 · 185 阅读 · 0 评论 -
MySQL删除表操作:delete、truncate、drop
执行速度:drop > truncate > deletedelete删除整张表的数据:delete from table_name;删除部分数据,添加where子句:delete from table_name where...;1)属于DML语言,每删除一行,在事务日志中为所删除的每行记录一项。产生rollback,事务提交之后才生效;如果有相应...原创 2020-01-30 15:32:46 · 374 阅读 · 0 评论 -
DML、DDL、DCL区别简述
DML(数据操作语言)Data Manipulation Language它们是SELECT、UPDATE、INSERT、DELETE,就象它的名字一样,这4条命令是用来对数据库里的数据进行操作的语言DDL(数据定义语言)Data Definition LanguageDDL比DML要多,主要的命令有CREATE、ALTER、DROP等,DDL主要是用在定义或改变表(TAB...原创 2020-01-30 15:09:48 · 1543 阅读 · 0 评论 -
MySQL 视图简述
单表视图# 原始表CREATE TABLE t (quantity INT, price INT); INSERT INTO t VALUES(3, 50); INSERT INTO t VALUES(5, 560); # 基于原始表,创建视图:view_t CREATE VIEW view_t AS SELECT quantity, price, qua...原创 2020-01-30 14:55:27 · 194 阅读 · 0 评论 -
MySQL存储过程和函数(下)完整例子
#示例数据:CREATE TABLE sch ( id INT, NAME VARCHAR ( 50 ), glass VARCHAR ( 50 ) );INSERT INTO sch VALUE ( 1, 'xiaoming', 'glass 1' ), ( 2, 'xiaojun', 'glass 2' );#结果如下: DESC sch;+-------+---------...原创 2020-01-30 12:23:39 · 314 阅读 · 0 评论 -
MySQL存储过程和函数简析(上)理论篇
创建存储过程:#创建查看fruits表的存储过程:#DELIMITER(定界符)设置结束符为// 防止与存储过程的;冲突。 DELIMITER // CREATE PROCEDURE Proc() BEGIN SELECT * FROM fruits; END // #恢复结束符 DELIMITER ; #调用 CALL Proc ( );#设置...原创 2020-01-29 22:44:17 · 1796 阅读 · 0 评论 -
MySQL索引简析
普通索引创建时关键字:INDEX查看时关键字:KEY#修改:ALTER TABLE book ADD INDEX BkNameIdx ( bookname(30) );#在book表中的year_publication字段上建立普通索引,SQL语句如下:CREATE TABLE book(bookid INT NOT NULL,bookname ...原创 2020-01-29 21:15:41 · 262 阅读 · 0 评论 -
MySQL 查询探索(一)单表查询
#示例数据CREATE TABLE fruits(f_id char(10) NOT NULL,s_id INT NOT NULL,f_name char(255) NOT NULL,f_price decimal(8,2) NOT NULL,PRIMARY KEY(f_id) ); INSERT INTO fruits (f_i...原创 2020-01-28 08:54:41 · 582 阅读 · 0 评论 -
MySQL 查询探索(二)使用正则查询
-查询f_name字段以字母’b’开头的记录,SQL语句如下:SELECT * FROM fruits WHERE f_name REGEXP ‘^b’;±-----±-----±----------------±-----------+| f_id | s_id | f_name | f_price |±-----±-----±----------------±------...原创 2020-01-23 11:11:34 · 299 阅读 · 0 评论 -
MySQL 函数探索
绝对值求2,-3.3和-33的绝对值,输入语句如下:SELECT ABS(2), ABS(-3.3), ABS(-33);求余对MOD(31,8),MOD(234, 10),MOD(45.5,6)进行求余运算,输入语句如下:SELECT MOD(31,8),MOD(234, 10),MOD(45.5,6);小整数CEILING函数返回最小整数,输入语句如下:SELECT ...原创 2020-01-22 21:18:27 · 284 阅读 · 0 评论 -
MySQL 查询探索(三)多表查询
CREATE TABLE fruits ( f_id CHAR ( 10 ) NOT NULL, s_id INT NOT NULL, f_name CHAR ( 255 ) NOT NULL, f_price DECIMAL ( 8, 2 ) NOT NULL, PRIMARY KEY ( f_id ) );INSERT INTO fruits ( f_id, s_id, f_na...原创 2020-01-21 11:33:58 · 483 阅读 · 0 评论 -
MySQL Join
全球复杂网路研究奠基人巴拉巴西在他的《巴拉巴西成功定律》这本书中写到,能力表现是有界的,无论你学的是什么专业。在顶尖选手之间做出区分是极其困难的。失败不是成功之母,成功者是成功之母在任何领域,如果你希望获得成功,就必须记住,你的竞争者和你完全一样,才华横溢,有备而来。只要我们理解了每一次评选固有的随机性,可能会更好地接受这一现实: 成功就像一场数字游戏。如果你期望在竞争中获胜,就需要参加许多这样...原创 2019-12-22 21:35:49 · 113 阅读 · 0 评论 -
MySQL Explain 性能分析
explain select * from t1 straight_join t2 on (t1.a=t2.a);idSQL执行的顺序的标识从大到小的执行id相同时,执行顺序由上至下select_type标识查询类型,普通查询和联合查询、子查询之类的复杂查询(1) SIMPLE(简单SELECT,不使用UNION或子查询等)(2) PRIMARY(查询中若包含任何复杂的子...原创 2019-12-22 20:14:45 · 192 阅读 · 0 评论