首页 / REDIS / Redis数据库的概念
Redis数据库的概念
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Redis数据库的概念,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2424字,纯文字阅读大概需要4分钟。
内容图文
![Redis数据库的概念](/upload/InfoBanner/zyjiaocheng/514/ed706afb0b5b4c4e9d208d9c303c4e79.jpg)
2、每个Redis客户端都有自己的目标数据库,默认情况下客户端的目标数据库为0号数据库,可以通过执行SELECT命令来切换目标数据库。
3、数据库的内部结构
(1)数据库由redisDb结构表示,主要由dict和expires两个字典构成,dict字典负责保存键值对,expires字典则负责保存键的过期时间。
(2)键空间的键也就是数据库的键,每个键都是一个字符串对象;键空间的值也就是数据库的值,每个值可以是字符串对象、列表对象、哈希表对象、集合对象、有序集合对象中的任意一种Redis对象。
(3)数据库常见操作有添加、删除、更新、取值、FLUSHDB(清空数据库)、RANDOMKEY(随机返回一个键)、DBSIZE(返回数据库键数量)。
4、键的生存时间和过期时间
(1)EXPIRE(秒)/PEXPIRE(毫秒):以秒或者毫秒精度为数据库中的某个键设置生存时间(TTL)。
(2)EXPIREAT(秒)/PEXPIREAT(毫秒):以秒或者毫秒精度为数据库的某个键设置过期时间(UNIX时间戳)。
(3)TTL/PTTL命令接受一个带有生存时间或者过期时间的键,返回这个键的剩余生存时间(秒/毫秒)。键不存在返回-2,键没有设置过期时间返回-1。
(4)EXPIRE、PEXPIRE和EXPIREAT三个命令都会转换成PEXPIREAT命令来执行。
(5)redisDb结构的expires字典保存了数据库中所有键的过期时间,我们称为过期字典。过期字典的键是某个键对象,值是一个long类型的整数(毫秒精度的过期时间)。
(6)PERSIST是PRXPIREAT命令的反操作,用来移除过期时间。
5、Redis的过期键删除策略
(1)惰性删除策略:所有读写数据库的Redis命令在执行之前都会调用expireIfNeed函数对输入键进行检查,如果键已过期则将键删除。
(2)定期删除策略:周期性函数serverCron执行时,activeExpireCycle函数每次随机从一定量的数据库中取出一定数量的键进行检查,并删除其中的过期键。定时循环执行,直到服务器中的所有数据库都被检查一遍。
(3)在执行SAVE或者BGSAVE命令创建一个新的RDB文件时,已过期的键不会保存,载入RDB文件时主服务器会过滤已过期的键,从服务器不会过滤,但是数据同步的时候从服务器数据会被清空,所以过期键不会对载入有影响。
(4)在执行BGREWRITEAOF命令重写一个AOF文件时,不会包含已过期的键,在过期键被惰性删除或者定期删除之后,程序会向AOF文件追加一条DEL命令,来显示地记录该键已被删除。
(5)当服务器运行在复制模式下时,从服务器的过期键删除动作由主服务器控制,只有在接到主服务器发来的DEL命令之后,从服务器才会删除过期键,这样可以保证主从服务器数据的一致性。
6、当Redis命令对数据库进行修改之后,服务器会根据配置向客户端发送数据库通知。
Redis数据库的概念
标签:配置 周期性 expires style rand 空间 cycle 循环 输入
本文系统来源:https://www.cnblogs.com/xy80hou/p/11624185.html
内容总结
以上是互联网集市为您收集整理的Redis数据库的概念全部内容,希望文章能够帮你解决Redis数据库的概念所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。