昨天,有个女孩子问我提高数据库查询性能有什么立竿见影的好方法?
这简直是一道送分题,我自豪且略带鄙夷的说,当然是加「索引」了。
她又不紧不慢的问,索引为什么就能提高查询性能。
这还用问,索引就像一本书的目录,用目录查当然很快。
她失望地摇了摇头,你说的只是一个类比,可为什么通过目录就能提高查询速度呢。
唉,对啊,通过书目可以快速查询,这只是一个现象,真正原因到底是什么呢。
那女孩看着诧异且表情僵硬的我,满意而又意味深长的笑笑:原来你这个男程序员也不会,看来我还得靠自己研究了。
哎,熬夜又要憔悴了我这该死的美貌。
来自同行的羞辱,是可忍孰不可忍?!
于是,我踏上了数据库索引学习的不归路,原来数据库索引使用了一种叫 B+ 树的古老数据结构,当然也有 Hash 等类型,暂且不说,可 B+ 树 这是个什么妖魔鬼怪呢?
下面就来浅尝辄止的扒一扒树的前世今生。
初识Redis,带领读者进入Redis的世界,了解它的前世今生、众多特性、应用场景、安装配置、简单使用,最后对Redis发展过程中的重要版本进行说明,可以让读者对Redis有一个全面的认识。
1.1Redis特性
1.2Redis使用场景
1.3用好Redis的建议
1.4正确安装并启动Redis
1.5Redis重大版本
API的理解和使用,全面介绍了Redis提供的5种数据结构字符串(string)、哈希(hash)、列表(list)、集合(set)、有序集合(zset)的数据模型、常用命令、典型应用场景,并且每个小节都会给出在Redis开发过程可能要注意的坑和技巧。同时本章还会对Redis的单线程处理机制、键值管理做一个全面介绍,通过对这些原理的理解,读者可以在合适的应用场景选择合适的数据结构和命令进行开发,有效提高程序效率,降低可能产生的问题和隐患。
2.1 预备
2.2 字符串
2.3 哈希
2.4 列表
2.5 集合
2.6 有序集合
2.7 键管理
小功能大用处,除了5种数据结构外,Redis还提供了诸如慢查询、Redis Shell、Pipeline、Lua脚本、Bitmaps、HyperLogLog、发布订阅、GEO等附加功能,在这些功能的帮助下,Redis的应用场景更加丰富。
3.1 慢查询分析
3.2 Redis Shell
3.3 Pipeline
3.4 事务与Lua
3.5 Bitmaps
3.6 HyperLogLog
3.7 发布订阅
3.8 GEO
客户端,本章重点关注Redis客户端的开发,介绍了Redis的客户端通信协议、详细讲解了Java客户端Jedis的使用技巧,同时通过从原理角度剖析在开发运维中,客户端的监控和管理技巧,最后给出客户端开发中常见问题以及案例讲解。
4.1 客户端通信协议
4.2 Java客户端Jedis
4.3 Python客户端redis-py
4.4 客户端管理
4.5 客户端常见异常
4.6 客户端案例分析
本文从基础到高级再到实战,由浅入深,把MySQL讲的清清楚楚,明明白白,这应该是我目前为止看到过最好的有关MySQL的学习笔记了,我相信如果你把这份笔记认真看完后,无论是工作中碰到的问题还是被面试官问到的问题都能迎刃而解!
重要的事:需要领取完整版的MySQL学习笔记的话,请转发+关注后点这里免费获取到免费的下载方式!
MySQL50道高频面试题整理:
论是工作中碰到的问题还是被面试官问到的问题都能迎刃而解!
重要的事:需要领取完整版的MySQL学习笔记的话,请转发+关注后点这里免费获取到免费的下载方式!
MySQL50道高频面试题整理: