1.Memory用的是hash index,但是InnoDB和MyISAM用的是B+树,不用二叉树的原因就是深度可能过深,深度过深影响查询和IO性能; 2.索引使用树的过程: BST:二分查找,不平衡AVL:二叉平衡树,最长子树和最短子树的高度之差不能超过1,数据越多,旋转越多,插入删除效率极低,查 ...
分类:
数据库 时间:
2020-07-08 15:06:03
阅读次数:
70
一、 1)value其实不仅可以是String,也可以是数字。常规key-value缓存应用; 常规计数:微博数,粉丝数等。2)hash特别适合用于存储对象。可以使你像在数据库中 Update 一个属性一样只修改某一项属性值。3)list list就是链表,比如微博的关注列表,粉丝列表,做分页Red ...
分类:
其他好文 时间:
2020-07-08 13:02:48
阅读次数:
49
线程安全性不同, HashMap 是线程不安全的, ConcurrentHashMap 是线程安全的. ConcurrentHashMap 采用锁分段技术, 将整个 Hash 桶进行了分段 segment, 也就是将这个大的数组分成了几个小的片段 segment, 而且每个 segment 片段上面 ...
分类:
其他好文 时间:
2020-07-07 23:36:30
阅读次数:
90
方案设计 使用redis列表存储两个用户之间的聊天数据,存储内容使用json字符串封装,字段包括:fromid、toid、msg、time四个字段。 使用redis hash存储一个用户未读的消息条数。 存在问题:原子性问题。 Python Demo实现 import json import tim ...
分类:
其他好文 时间:
2020-07-07 15:45:35
阅读次数:
173
散列表(Hash),又名哈希,java中的HashMap,python中的dict,在一般代码中多用于键值对字典存储中。在查找中,哈希表的查找往往都是$Olog(1)$,这说明哈希表的查找往往并不需要什么循环结构,是直接得出来的,那么其中必然有值和存储位置的对应计算方法,在哈希表中被叫做散列函数。有 ...
分类:
其他好文 时间:
2020-07-06 16:38:44
阅读次数:
73
https://blog.csdn.net/wl044090432/article/details/53423333?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase ...
分类:
数据库 时间:
2020-07-06 10:44:29
阅读次数:
78
因项目需要在一个应用里从两个数据库取数,所以需要配置多数据源,网上找了好多方法才启动成功,整理如下。注意两个数据源repository所在的文件夹名称不能相同,否则系统启动会报错。 配置文件 spring.datasource.primary.url=*** spring.datasource.pr ...
分类:
编程语言 时间:
2020-07-06 00:52:42
阅读次数:
91
###问题描述 在大规模数据处理中,经常会遇到的一类问题就是在海量数据中找出出现频率最高的前K个数,或者从海量数据中找出最大的前K个数,这类问题通常被称为top K问题。 ###问题解答 针对top K类问题,通常比较好的方案是分治+Trie树/hash+小顶堆,即先将数据集按照hash方法分解成多 ...
分类:
其他好文 时间:
2020-07-05 21:29:51
阅读次数:
70
参考:《Redis设计与实现》 RedisObject Redis底层的所有数据结构:都是基于对象的;RedisObject 类型; 编码; 指向实际数据的指针; typedef struct redisObject{ // 类型 unsigned type:4; // 编码 unsigned en ...
分类:
其他好文 时间:
2020-07-05 19:30:02
阅读次数:
88
疑问? Oracle普通的B树索引是升序还是降序? 一、测试创建对象 SQL> create table a as select * from dba_objects; Table created. SQL> create index a_id on a(object_id); Index crea ...
分类:
数据库 时间:
2020-07-05 17:08:37
阅读次数:
73