![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据库
冰怜
真正的静,是生命里寂然涤思;真正的动,是世路上毅然向前
展开
-
docker MySQL集群percona-xtradb-cluster
1.下载percona-xtradb-cluster docker pull docker.io/percona/percona-xtradb-cluster 给镜像改名 docker tag percona/percona‐xtradb‐cluster pxc 2.创建内部网络 docker network create --subnet=172.18.0....原创 2020-01-14 14:57:53 · 736 阅读 · 2 评论 -
MongoDB基础、文档、用户
SQL与MongoDB对比,不同点 查询数据库 show dbs查询全部数据 db 显示当前数据库 2.创建数据库 use Database_Name 没有这个库,自动创建 集合 1.创建集合 db.createCollection("student") 2.删除集合 db.student.drop() 文档 插入文档 Mo...原创 2019-02-26 17:02:58 · 117 阅读 · 0 评论 -
数据库—索引优化、B-Tree、B+Tree、Hash、BitMap
如何设计一个关系型数据库? 两大部分 存储(文件系统(机械硬盘,固态硬盘)) 程序实例 程序实例分为8个模块: 1.存储管理模块:将数据的逻辑关系转换为物理存储关系 2.缓存机制模块(内存来进行):优化执行效率 3.SQL解析模块:解析SQL语句 4.日志管理模块:记录操作(分库这些) 5.权限划分模块:进行多用户管理(比如老板能看多所有员工信息,但是员工只能看到自己...原创 2019-03-25 11:26:00 · 604 阅读 · 0 评论 -
数据库—密集索引、稀疏索引、优化慢查询SQL、索引越多越好?
密集索引和稀疏索引的区别 密集它是一一对应 稀疏是一个对应多个值 InnoDB 采用主键 >第一个非唯一 >非空唯一 >生成隐藏作为密集索引(唯一) shop_info_large 表是InnoDB 有两个文件 InnoDB索引和数据是存在一起的*.ibd 一个frm 表结构 ibd是数据内容 shop_info_small ...原创 2019-03-25 18:19:48 · 898 阅读 · 0 评论 -
数据缓存-redis从海量数据里查询某一固定前缀的key
从海量数据里查询某一固定前缀的key 如果用key 服务会出现卡顿 长时间查询 scan 取出少量元素 SCAN cursor [MATCH pattern][COUNT count] 基于游标的迭代器,需要基于上一次的游标延续之前的迭代过程 以0作为游标开始一次新的迭代,知道命令返回游标0完成一次遍历 不保证每次执行都返回某个给定数量的元素,支持模糊查询 一次返回的数量不可控,只能...原创 2019-03-29 18:52:17 · 6046 阅读 · 0 评论 -
数据缓存Redis-分布式锁、异步队列、持久化、Redis集群
如何通过Redis实现分布式锁 分布式锁需要解决的问题 互斥性 安全性 死锁 容错 SEINX 实现分布锁 SEINX key value:如果key不存在,则创建并赋值 时间复杂度:O(1) 返回值:设置成功,返回1;设置失败,返回0。 如果解决SEINX长期有效的问题 expire key seconds 设置key的生存时间,当key过期时(...原创 2019-03-29 22:27:06 · 743 阅读 · 0 评论 -
数据缓存-Redis
为什么Redis能这么快 100000+QPS(QPS即query per second,每秒内查询次数) 完全基于内存,绝大部分请求是纯粹的内存操作,执行效率高 数据结构简单,对数据操作也简单 采用单线程,单线程也能处理高并发请求,想多核也可启动多实例 Redis的数据类型 String:最基本的数据类型; Hash:String元素组成的字典,适合用于存储对象 List:...原创 2019-03-27 20:58:31 · 483 阅读 · 0 评论