1 MySQL

  1. MySQL查询语言你了解哪些
  2. MySQL支持哪些事物<br /> MySQL读写分离原理<br /> MySQL读写分离出现故障,导致主从数据不一致,说说你的排错思路,你应该则么去做

2 Mongodb

MongoDB是一个文档数据库,是一个非关系型数据库,易扩展,高性能,高可用性。

插入文档的命令:db.collection.insert_one( )或insert()
使用索引的基本命令:db.collection.ensureIndex( {KEY: 1} ),key指的是键名。
查找的命令:db.collection.find({KEY:skjdk })
创建集合:db.createCollection(name, options) (一般直接db.name或db[name]就行)
集合只有在里面有数据了之后才正式创建。
删除集合:db.collection.drop( )

集合就相当于sql中的表。 collection里面的键值对组 叫做文档。

mongodb不支持主键外键关系。

分片:在多台计算机存储数据记录的过程。

什么时候用nosql?
处理非结构化或者半结构化数据时(sql是结构化的数据);
需要随时应对动态增长的数据项时;
在水平方向上扩展时(增加服务器就能增加性能);

垂直扩展指的是提高单机处理能力。

大多数情况下应该优先考虑关系型数据库。

schema:数据库的组织和结构。(表,列,对象,关系之类的)

3 redis

redis也是nosql,它不仅能用作数据库,还能用作缓存和消息中间件。

redis响应快
应对高并发能力强。

缺点:缓存击穿、缓存雪崩

  1. redis 数据类型<br /> redis主从同步<br /> redis高可用方案(哨兵、集群)