Redis数据库结构与读写原理
来源:互联网 发布:2016淘宝开店 编辑:程序博客网 时间:2024/06/05 05:37
1、数据库结构
每一个redis服务器内部的数据结构都是一个redisDb[],该数组的大小可以在redis.conf中配置("database 16",默认为16),而我们所有的缓存操作(set/hset/get等)都是在redisDb[]中的一个redisDb(库)上进行操作,这个redisDb默认是redisDb[0]。
注意:
- 可以通过"select 1"来选择接下来的操作在redisDb[1]上进行操作
- 在实际使用中,我们只在redisDb[0]上操作,因为
- redis没有获取当前是在哪一个redisDb上操作的函数,所以很容易才select多次之后,我们就不知道在哪一个库上了,而且既然是只在redisDb[0]上进行操作,那么"database"就可以设置为1了,
- 该参数设置为1后,不仅可以将原有的其他redisDb所占的内存给了redisDb[0],在的"定期删除"策略中,我们也只扫描一个redisDb就可以了。
"定期删除"见 第九章 Redis过期策略
2、读写原理
在每一个redisDb中都以一个dict(字典)用于存储"key-value"。
例子:
假设在redis中执行了如下四条命令并且没有执行任何的select,即默认选择在redisDb[0]上操作
set msg "hello nana"
rpush mylist "a" "b" "c"
hset book name "lover"
hset book author "nana"
则存储结构如下:
3、读写时所进行的维护工作
在读取一个key(读写操作都需要读取key)后,
- 服务器更新缓存命中次数与不命中次数
- 更新该key的最后一次使用时间
- 检测该key是否过期(详细见 第九章 Redis过期策略)
- 写计数器+1,用于持久化
0 0
- Redis数据库结构与读写原理
- 数据库 读写分离 原理
- Redis 数据库结构
- Redis数据库结构介绍
- NandFlash结构与读写分析
- Nand Flash结构与读写
- Java WebService 实现读写Redis数据库
- Hashmap结构与原理
- redis缓冲与数据库
- 文件系统 | 文件读写 | 结构体 | 数据库 | 人工智能
- 秋色园QBlog技术原理解析:性能优化篇:读写分离与文本数据库(十八)
- memcache与redis原理区别
- Atitit.数据库表的物理存储结构原理与架构设计与实践
- 数据库与索引结构
- 数据模型与数据库结构
- 懵逼王学Redis----数据库结构和RedisObject
- Redis-单个数据库结构---过期键
- 数据库种类与 数据库结构
- 常用html控件的js用法
- jquery easyui combotree逐级展开
- MQTT-SN协议乱翻之小结篇,MQTT与MQTT-SN区别对比
- 【语言-C++】调用window自带的文件属性窗口
- 【BZOJ 3036】绿豆蛙的归宿 期望dp
- Redis数据库结构与读写原理
- 7.Java常用开发工具
- Ansible常用模块
- eclipse中注释常用的方法
- android Home键的监听
- 如何添加第3方lib库到kernel中
- 安晓喵的2017
- 网络程序设计总结 柳晓鹏
- input设置多选与反选