redis字典
2024-10-19 03:29:55
字典作为一种保存键值对的数据结构,在redis中使用十分广泛,redis作为数据库本身底层就是通过字典实现的,对redis的增删改查实际上也是构建在字典之上。
一.字典的结构
二.hash冲突
采用头插链地址法,因为没有指向链尾的指针,插在最前面,复杂度O(1)
三.rehash
即将entry数组从ht[0]重新散列到ht[1]的过程
1.为ht[1]分配空间:
(1)扩容:ht[1]的大小为第一个大于等于ht[0].used * 2的2的n次幂
(2)收缩:ht[1]的大小为第一个大于等于ht[0].used的2的n次幂
2.将ht[0]上所有的键值对重新计算hash和索引值,散列到ht[1]的指定位置
3.释放ht[0],ht[0] = ht[1],新建ht[1]
四.渐进式hash
在渐进式rehash过程中,字典的删改查将先在ht[0]找,找不到会去ht[1]找,增加则只会增加到ht[1]
最新文章
- 如何准确高效的获取数据库新插入数据的主键id
- java Http原生 Get 和Post 支持代理认证
- Maven 使用介绍
- :first与:first-child的区别
- ubuntu 16.04 安装 QQ
- apache日志轮转
- (转)HTML 5离线存储之Web SQL
- 关于oracle存储过程的一些知识点
- 防止SQL注入和XSS攻击Filter
- C/C++中的变量作用域
- QTableView表格滚动条样式(QSS真是细致到家了)
- 探讨SQL Server并发处理存在就更新七种解决方案
- Tomcat Connector的三种运行模式
- Idea中右边的maven projects窗口找不到了如何调出来
- dev gridcontrol 无法编辑 解决方案
- 从javascript发展说到vue
- 吐槽一下--最近多次在腾讯以及万科的面试经历---Web前端与PHP后端开发
- 洛谷 P4302 【[SCOI2003]字符串折叠】
- Redis安装教程及可视化工具RedisDesktopManager下载安装
- 面向对象的封装(私有化)及@property(查看)/@setter(修改)!!!