redis 如何查看某个库的key_redis数据库查找key在内存中的位置的方法

news/2024/7/24 13:32:23 标签: redis 如何查看某个库的key

一、预先需要了解的知识

1、redis 中的每一个数据库,都由一个 redisDb 的结构存储。其中,redisDb.id 存储着 redis 数据库以整数表示的号码。redisDb.dict 存储着该库所有的键值对数据。redisDb.expires 保存着每一个键的过期时间。

2、当redis 服务器初始化时,会预先分配 16 个数据库(该数量可以通过配置文件配置),所有数据库保存到结构 redisServer 的一个成员 redisServer.db 数组中。当我们选择数据库 select number  时,程序直接通过 redisServer.db[number] 来切换数据库。有时候当程序需要知道自己是在哪个数据库时,直接读取 redisDb.id 即可。

3、既然我们知道一个数据库的所有键值都存储在redisDb.dict中,那么我们要知道如果找到key的位置,就有必要了解一下dict 的结构了:

复制代码 代码如下:

typedef struct dict {

// 特定于类型的处理函数

dictType *type;

// 类型处理函数的私有数据

void *privdata;

// 哈希表(2个)

dictht ht[2];

// 记录 rehash 进度的标志,值为-1 表示 rehash 未进行

int rehashidx;

// 当前正在运作的安全迭代器数量

int iterators;

} dict;

由上述的结构可以看出,redis 的字典使用哈希表作为其底层实现。dict 类型使用的两个指向哈希表的指针,其中 0 号哈希表(ht[0])主要用于存储数据库的所有键值,而1号哈希表主要用于程序对 0 号哈希表进


http://www.niftyadmin.cn/n/1245203.html

相关文章

Squid 代理服务器 - 实现Web加速缓存及负载均衡

Squid代理服务器一、Web代理的工作机制二、代理方式1. 传统代理2. 透明代理3. 反向代理三、部署传统代理1. 拓扑图2. 编译安装3. 修改配置文件4. 服务控制5. 部署Apache服务器6. 客户机测试四、部署透明代理1. 拓扑图2. 配置Squid3. 客户机测试五、ACL 访问控制1.概述2. 拓扑图…

hanlp 训练模型_Hanlp分词之CRF中文词法分析详解

这是另一套基于CRF的词法分析系统,类似感知机词法分析器,提供了完善的训练与分析接口。CRF的效果比感知机稍好一些,然而训练速度较慢,也不支持在线学习。默认模型训练自OpenCorpus/pku98/199801.txt,随hanlp 1.6.2以上…

Redis 运维 - 从零开始学习

Redis 运维 - 从零开始学习一、Redis简介Redis 的优点二、Redis 与 Memcached 的区别三、Redis部署1. 下载编译及安装2. 配置环境四、Redis 常用工具1.Redis 命令工具2.Redis-cli 命令行工具3.Redis-benchmark 测试工具五、常用指令1. 数据的存放和获取2. 查询数据3. 键值的判断…

Redis 运维 - 主从复制 | 哨兵模式 | Cluster集群 | 报错排查 | 负载均衡及高可用方案

Redis 运维 - 负载均衡及高可用方案一、主从复制1.1 作用1.2 主从复制的流程1.3 搭建Redis主从复制1.3.1 安装Redis1.3.2 修改Redis配置文件Master节点Slave1/2节点1.3.4 验证主从效果1.3.5 报错排查WARNING: The TCP backlog setting of 511 cannot be enforced because /proc…

Rsync + Intofy 数据实时同步方案

Rsync Intofy 数据实时同步方案一、Rsync1.1 Rsync特性1.2 部署Rsync下行同步1.2.1 Master节点安装配置开启服务1.2.2 Slave节点1.3 报错排查ERROR: auth failed on module wwwroot二、Intofy2.1 Intofy的使用方法2.2 部署 RsyncInotify 实时同步2.2.1 Master2.2.2 Slave优化S…

哪种css实现方式优势更突出_CSS网页布局的优势与弊端

关于CSS网页布局,随着WEB2.0标准化设计理念的普及,国内很多大型门户网站已经纷纷采用DIVCSS制作方法,从实际应用情况来看,此种方法绝对好于表格制作页面的方法。如今大部分网站仍然采用表格嵌套内容的方式来制作网站,虽…

GFS(GlusterFS) 分布式存储平台

GFS 分布式存储平台一、GFS概述1.1 GFS的三个组件1.1.1 存储服务器(Brick Server)1.1.2 存储网关(NFS/Samaba)1.2 GFS的特点1.2.1 扩展性和高性能1.2.2 高可用性1.2.3 全局统一命名空间1.2.4 弹性卷管理1.2.5 基于文件系统的标准使…

ELK 日志文件分析系统

ELK日志分析一、概述二、ELK的组件1.1 Elasticsearch1.2 Logstash1.3 Kibana三、日志处理步骤四、Elasticsearch 介绍面试题五、Logstash 介绍1.1 Logstash 主要组件1.2 Shipper 日志收集者1.3 Indexer 日志存储1.4 Broker 日志Hub1.5 Search and Storage1.6 Web Interface六、…