1.cap,base面试必问
2.geo微信地图 bitmap
3.什么是no sql?(not only sql,非关系型,非表结构来存储数据)
4.历史
mysql,单机时代,数据库撑得住,都是静态网页
1.数据量太大,一台放不下,
2.索引需要内存
3.访问量(读写混合)到 memcached(缓存)+mysql(多台,读更多)+垂直拆分(多几台服务器)
到 mysql水平拆分(集群,主从复制) MyISAM:表锁–>innodb:行锁 新技术:新类型的数据库可以存关系型不能存文件,图片地图…
上线了表不能改,加一个字段,要加1亿条数据
5.什么是noSql(not only sql)
- 关系型数据库: 表格行列
非关系型数据库: 不需要固定的格式来存储(数据之间没有关系)
Map<String,Object>- 特点
1.方便拓展服务器
2.大数据高性能(1秒8w数据写11w读)
6.淘宝的架构
1.文档型数据库:redis/mongoDb 放评论
2.名称价格,信息淘宝内部mysql
3.图片 fastDFS 阿里oss hadoop
4.商品的搜索
solr elasticsearch
淘宝 ISearch:多隆
5.商品的热门信息 redis tair
7.nosql四大分类
1.bson和json一样格式(文档型数据库) mongodb是关系型和非关系型之间的数据库(是非关系,像关系的)
2.图数据库(放图关系的,不是放图片的)朋友圈 neo4J
3.列数据库(分布式文件系统)
8.linux安装,创建一个命令,复制一份,以这一份来启动
//解压
tar -zxvf redis-5.0.7.tar.gz
//安装c语言编译工具
yum install gcc-c++
make
make distclean
make install
cd /usr/local/bin
mkdir jconfig
cp /opt/redis-xxx/redis.conf jconfig
//更改配置文件为后台运行
daemonize yes
//启动
redis-server /jconfig/redis.conf
//客户端连接
redis-cli -p 6379
//是否连通
ping
//设置键值对
set name value
//所有键
keys *
//查看进程状态,过滤
ps -ef | grep redis
//关闭服务
shutdown
exit
9.benchmark(基准)压力测试
redis-server /jconfig/redis.conf
//-c是100个并发,-n请求数,在redis外执行
redis-benchmark -h localhost -p 6379 -c 100 -n 100000
//解释
set方法
1.用了多少秒
2.100个客户端
3.每次写入3个字节
4.几台服务器
5.处理请求的速度
-------------基础-----------
10.redis默认有16个数据库(默认第0个)
//切换数据库
select 3
//查看数据库的大小
DBSIZE
//删库
FLUSHDB
//删除所有数据库
FLUSHALL
- 6379是女明星的名字在键盘打出来的
12.redis是单线程的
1.是基于(全部)内存的和网络带宽,cpu不是redis的瓶颈
2.是c语言写的, 官网10万qps
3.误区 高性能的多线程服务器一定快
多线程(上下文切换浪费时间)不比单线程快
4.redis单线程cpu不切换操作内存是最快的