- 博客(5)
- 收藏
- 关注
原创 Redis集群
槽指派集群的整个数据库被分为16384个槽,数据库中的每个键都属于16384中的一个,clusterNode结构的slots属性和numslot属性记录了节点负责处理哪些槽struct clusterNode{ unsigned char slots[16384/8]; int numslots;} slots属性是一个二进制位数组,2048个字节包含16384个二进制位。根据二进制位的值判断节点是否处理槽i,slots数组在索引i上的二进制位的值位1,那么表示节点负责处理槽i
2021-04-07 07:23:00 82
原创 Redis常见问题
Redis数据结构Redis对象类型包括String,Map,List,Set,Zset。String根据字符串长度有两种编码格式,短串使用emstr,长串使用emstr,emstr只会调用一次内存分配函数进行内存分配,row两次内存分配函数调用,分配空间给RedisObject和sdshdr。Map底层由HashTable实现,List使用双向无环链表LinkedList,可以在链表两端进行操作。set底层由HashTable进行实现。Zset使用SkipList进行实现。在数据量少的时候,Ma...
2021-04-05 21:06:13 195 1
原创 小记InnoDB锁
InnoDB提供一致性非锁定读,行级锁支持。行级锁没有相关额外的开销,并可以同时得到并发性和一致性。locklatch对象事务线程保护数据库内容内存数据结构持续时间整个事务过程临界资源模式行锁,表锁,意向锁读写锁,互斥量死锁通过wait-for graph,time-out等机制进行死锁检测和处理无死锁检测和处理存在于InnoDB实现了两种标准行级锁:共享锁和排他锁。为了支持在不同粒度上进行加锁操作,支持一种额外的锁方式意向
2021-04-04 20:42:56 67
原创 小记spring-boot自动加载
自动配置:通过 @EnableAutoConfiguration 或者@SpringBootApplication注解 开启组件扫描和自动配置通过@SpringBootApplication(exclude = XAutoConfiguration.class)关闭自动配置,自动配置位于org.springframework.boot.autoconfigure包路径。有一个名为getAutoConfigurationEntry的方法,这个方法发挥的作用是扫描ClassPath下的所有jar包的sp
2021-03-27 22:21:39 111
原创 订单平均分配
背景描述:平台上有多家商户,商家有多名员工,商家和客户之间会产生很多订单,商家需要将订单平均分配给自己的员工去跟踪这些订单。问题描述一种情况是知道商家总订单数,商家所有员工,那么把所有订单直接平均一下,然后分配给所有员工就好了。现在讨论的是另一种情况,每有一笔订单生成的时候,就根据平均原则分配给员工解决方案a. 如果知道每个人手里都有多少条单,那么只要把当前订单分配给手中单最少的人就可...
2019-12-01 09:59:49 1061
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人