摘要: ZSet对象编码是ziplist或者 skiplist。 在同时满足以下两个条件时使用ziplist: 1)有序集合保存的元素数量小于128个; 2)有序集合保存的所有元素的长度小于64字节; 不能满足上面任何一个条件时则使用 skiplist 编码。 注意:以上两个条件也可以通过Redis配置文件 阅读全文
posted @ 2022-04-13 18:13 李若盛开 阅读(849) 评论(0) 推荐(0)
摘要: Redis 使用键值对存储数据,其中的值(对象)包括 5 种类型,即字符串、列表、哈希、集合、有序集合,这是 Redis 对外提供的,实际上,在 Redis 内部每种类型可能有 2 种或更多的内部编码实现。 1、字符串(string) 用于一些常规计数:微博数,粉丝数等 其中:embstr和raw都 阅读全文
posted @ 2022-04-13 16:53 李若盛开 阅读(563) 评论(0) 推荐(0)
摘要: Set对象编码是 intset 或者 hashtable。 1、intset intset 编码的集合对象使用整数集合作为底层实现,集合对象包含的所有元素都被保存在整数集合里面。 举个例子,以下代码将创建一个intset 编码集合对象: 2、hashtable hashtable 编码的集合对象使用 阅读全文
posted @ 2022-04-13 15:42 李若盛开 阅读(1463) 评论(0) 推荐(1)
摘要: 索引在计算机中的位置 一般来说,索引本身也很大,不可能全部存储在内存中,一般以文件形式存储在磁盘上,索引检索需要磁盘I/O操作。判断一种数据结构作为索引的优劣主要是看在查询过程中的磁盘IO渐进复杂度,一个好的索引应该是尽量减少磁盘IO操作次数。 为什么使用B+树 1、B树只适合随机检索,而B+树同时 阅读全文
posted @ 2022-04-12 18:39 李若盛开 阅读(1728) 评论(0) 推荐(0)
摘要: 简介 AWK 是一种处理文本文件的语言,是一个强大的文本分析工具。之所以叫 AWK 是因为其取了三位创始人 Alfred Aho,Peter Weinberger和 Brian Kernighan 的Family Name 的首字符。主要用于数据扫描、过滤、统计汇总工作,数据可以来自标准输入、管道或 阅读全文
posted @ 2022-04-12 10:46 李若盛开 阅读(155) 评论(0) 推荐(0)
摘要: 一、定义 存储过程(Stored Procedure)是在大型数据库系统中,一组为了完成特定功能的SQL 语句集,存储在数据库中,经过第一次编译后调用不需要再次编译,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。存储过程是数据库中的一个重要对象。 二、特点 1、能完成较复杂 阅读全文
posted @ 2022-04-11 16:54 李若盛开 阅读(52) 评论(0) 推荐(0)
摘要: 深入解析扩容原理(查看这里) 内部结构 type slice struct { array unsafe.Pointer len int cap int } 扩容机制 规则1 当需要的容量大于原切片容量的两倍时,会使用需要的容量作为新容量; 当原切片长度小于1024时,新切片的容量会直接翻倍; 而当 阅读全文
posted @ 2022-04-11 10:51 李若盛开 阅读(485) 评论(0) 推荐(0)
摘要: 优点: 1.极简单的部署方式 直接编译成机器码、不依赖其他库、直接运行即可部署; 2.静态类型语言 编译的时候检查出来隐藏的大多数问题; 3.语言层面的并发 天生的基因支持、充分利用多核; 4.强大的标准库 runtime系统调度机制、高效的GC垃圾回收、丰富的标准库; 5.简单易学 25个关键字、 阅读全文
posted @ 2022-04-11 00:33 李若盛开 阅读(1126) 评论(0) 推荐(0)
摘要: 阅读全文
posted @ 2022-04-10 23:58 李若盛开 阅读(50) 评论(0) 推荐(0)
摘要: 单线程的redis为什么这么快 1)绝大部分请求是纯粹的内存操作(非常快速); 2)采用单线程,避免了不必要频繁的上下文切换和竞争条件; 3)非阻塞I/O多路复用机制。 对于大量的请求怎么样处理 redis是一个单线程程序,也就是说同一时刻它只能处理一个客户端请求; redis是通过IO多路复用(s 阅读全文
posted @ 2022-04-10 23:45 李若盛开 阅读(1548) 评论(0) 推荐(0)