目录专栏导读一、同样是缓存,用map不行吗?二、Redis为什么是单线程的?三、Redis真的是单线程的吗?四、Redis优缺点1、优点2、缺点五、Redis常见业务场景六、Redis常见数据类型1、String2、List3、Hash4、Set5、Zset6、BitMap7、BitField8、HyperLogLog9、GEO10、Stream七、总结专栏导读🏆作者简介:哪吒,CSDN2022博客之星Top1、CSDN2021博客之星Top2、多届新星计划导师✌、博客专家💪,专注Java硬核干货分享,立志做到Java赛道全网TopN。🏆本文收录于Java基础教程系列(进阶篇),本专栏是针对大
目录专栏导读一、同样是缓存,用map不行吗?二、Redis为什么是单线程的?三、Redis真的是单线程的吗?四、Redis优缺点1、优点2、缺点五、Redis常见业务场景六、Redis常见数据类型1、String2、List3、Hash4、Set5、Zset6、BitMap7、BitField8、HyperLogLog9、GEO10、Stream七、总结专栏导读🏆作者简介:哪吒,CSDN2022博客之星Top1、CSDN2021博客之星Top2、多届新星计划导师✌、博客专家💪,专注Java硬核干货分享,立志做到Java赛道全网TopN。🏆本文收录于Java基础教程系列(进阶篇),本专栏是针对大
👏作者简介:大家好,我是爱敲代码的小黄,独角兽企业的Java开发工程师,CSDN博客专家,阿里云专家博主📕系列专栏:Java设计模式、数据结构和算法、Kafka从入门到成神、Kafka从成神到升仙、Spring从成神到升仙系列🔥如果感觉博主的文章还不错的话,请👍三连支持👍一下博主哦🍂博主正在努力完成2023计划中:以梦为马,扬帆起航,2023追梦人📝联系方式:hls1793929520,和大家一起学习,一起进步👀文章目录代理模式一、引言二、定义三、静态代理四、动态代理1、JDK代理1.1JDK类的动态生成1.2JDK动态代理流程2、Cglib代理2.1cglib动态代理实现2.2cglib代理
👏作者简介:大家好,我是爱敲代码的小黄,独角兽企业的Java开发工程师,CSDN博客专家,阿里云专家博主📕系列专栏:Java设计模式、数据结构和算法、Kafka从入门到成神、Kafka从成神到升仙、Spring从成神到升仙系列🔥如果感觉博主的文章还不错的话,请👍三连支持👍一下博主哦🍂博主正在努力完成2023计划中:以梦为马,扬帆起航,2023追梦人📝联系方式:hls1793929520,和大家一起学习,一起进步👀文章目录代理模式一、引言二、定义三、静态代理四、动态代理1、JDK代理1.1JDK类的动态生成1.2JDK动态代理流程2、Cglib代理2.1cglib动态代理实现2.2cglib代理
在学习【操作系统】【MySQL】【Redis】后,发现其都有一些缓存淘汰的策略,因此一篇小文章总结一下。目前还没着笔,初略一想MySQL和操作系统应该都是使用的年轻代和老生代的改进策略,而Redis使用的是随机抽的策略。MySQLMySQL中存在一个内存缓存池,BufferPool。里面存在着控制块和缓存的数据页(当然还有些其他缓存,比如:锁信息、undo页等)。下面的LRU限制在缓存的数据页当中(控制块等应该也是不会淘汰的)有了缓存池之后当读取数据时,如果数据存在于BufferPool中,客户端就会直接读取BufferPool中的数据,否则再去磁盘中读取。当修改数据时,首先是修改Buffer
在学习【操作系统】【MySQL】【Redis】后,发现其都有一些缓存淘汰的策略,因此一篇小文章总结一下。目前还没着笔,初略一想MySQL和操作系统应该都是使用的年轻代和老生代的改进策略,而Redis使用的是随机抽的策略。MySQLMySQL中存在一个内存缓存池,BufferPool。里面存在着控制块和缓存的数据页(当然还有些其他缓存,比如:锁信息、undo页等)。下面的LRU限制在缓存的数据页当中(控制块等应该也是不会淘汰的)有了缓存池之后当读取数据时,如果数据存在于BufferPool中,客户端就会直接读取BufferPool中的数据,否则再去磁盘中读取。当修改数据时,首先是修改Buffer
Druid是一个分布式数据分析平台,也是一个时序数据库,也是一个集群系统,使用zookeeper做节点管理和事件监控,所以Druid一般搭配mysql使用Druid是一个快速的列式分布式的支持实时分析的数据存储系统。它在处理PB级数据、毫秒级查询、数据实时处理方面,比传统的OLAP系统有了显著的性能改进。注意:阿里巴巴也曾创建过一个开源项目叫作Druid(简称zxdyl),它是一个数据库连接池的项目。zxdyl和本文讨论的Druid没有任何关系,它们解决完全不同的问题。Druid是一种能对历史和实时数据提供亚秒级别的查询的数据存储系统。Druid支持低延时的数据摄取,灵活的数据探索分析,高性能
Druid是一个分布式数据分析平台,也是一个时序数据库,也是一个集群系统,使用zookeeper做节点管理和事件监控,所以Druid一般搭配mysql使用Druid是一个快速的列式分布式的支持实时分析的数据存储系统。它在处理PB级数据、毫秒级查询、数据实时处理方面,比传统的OLAP系统有了显著的性能改进。注意:阿里巴巴也曾创建过一个开源项目叫作Druid(简称zxdyl),它是一个数据库连接池的项目。zxdyl和本文讨论的Druid没有任何关系,它们解决完全不同的问题。Druid是一种能对历史和实时数据提供亚秒级别的查询的数据存储系统。Druid支持低延时的数据摄取,灵活的数据探索分析,高性能
众所周知MySQL联合索引遵循最左前缀匹配原则,在少数情况下也会不遵循(有兴趣,可以翻一下上篇文章)。创建联合索引的时候,建议优先把区分度高的字段放在第一列。至于怎么统计区分度,可以按照下面这种方式。创建一张测试表,用来测试:CREATETABLE`test`(`id`intNOTNULLAUTO_INCREMENTCOMMENT'主键',`a`intNOTNULL,`b`intNOTNULL,`c`intNOTNULL,PRIMARYKEY(`id`))ENGINE=InnoDBCOMMENT='测试表';统计每个字段的区分度:selectcount(distincta)/count(*),
众所周知MySQL联合索引遵循最左前缀匹配原则,在少数情况下也会不遵循(有兴趣,可以翻一下上篇文章)。创建联合索引的时候,建议优先把区分度高的字段放在第一列。至于怎么统计区分度,可以按照下面这种方式。创建一张测试表,用来测试:CREATETABLE`test`(`id`intNOTNULLAUTO_INCREMENTCOMMENT'主键',`a`intNOTNULL,`b`intNOTNULL,`c`intNOTNULL,PRIMARYKEY(`id`))ENGINE=InnoDBCOMMENT='测试表';统计每个字段的区分度:selectcount(distincta)/count(*),