1.redis介绍

1.cap,base面试必问
2.geo微信地图 bitmap
3.什么是no sql?(not only sql,非关系型,非表结构来存储数据)
4.历史
mysql,单机时代,数据库撑得住,都是静态网页

1.数据量太大,一台放不下,
2.索引需要内存
3.访问量(读写混合)

到 memcached(缓存)+mysql(多台,读更多)+垂直拆分(多几台服务器)
到 mysql水平拆分(集群,主从复制) MyISAM:表锁–>innodb:行锁 新技术:新类型的数据库可以存关系型不能存文件,图片地图…
上线了表不能改,一个字段1一条要加1亿调数据

5.什么是noSql(not only sql)

  1. 关系型数据库: 表格行列
    非关系型数据库: 不需要固定的格式来存储(数据之间没有关系)
    Map
  2. 特点
    1.方便拓展服务器
    2.大数据高性能(1秒8w数据写11w读)

6.淘宝的架构

1.文档型数据库:redis/mongoDb 放评论
2.名称价格,信息淘宝内部mysql
3.图片 fastDFS 阿里oss hoodoop
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
  1. 6379是女明星的名字在键盘打出来的

12.redis是单线程的

1.是基于(全部)内存的和网络带宽,cpu不是redis的瓶颈
2.是c语言写的, 官网10万qps
3.误区 高性能的多线程服务器一定快
,多线程(上下文切换浪费时间)不比单线程快
4.redis单线程cpu不切换操作内存是最快的

你可能感兴趣的:(redis,redis,数据库,缓存)