中间件
文章平均质量分 96
x .y
这个作者很懒,什么都没留下…
展开
-
Redis是如何进行内存回收的?
命令给Redis的key设置TTL,当key的TTL到期以后,再次访问返回的是nil,说明这个key已经不存在了,对应的内存也得到释放。从而起到内存回收的目的。惰性删除是指并不是在TTL到期后就立刻删除,而是在访问一个key的时候,检查该key的存活时间,如果已经过期才执行删除。: 对设置了TTL的key,比较key的剩余TTL值,TTL越小越先被淘汰。最大的key,将他删除,然后判断内存是否充足,充足的话就结束,否则继续删除。,即不淘汰任何key,如果是,那么直接退出,会报错,否则继续执行。原创 2024-07-28 19:06:17 · 925 阅读 · 0 评论 -
Redis是多线程还是单线程?
我们的应用程序也好,还是内核空间也好,都是没有办法直接去物理内存的,而是通过分配一些虚拟内存映射到物理内存中,我们的内核和应用程序去访问虚拟内存的时候,就需要一个虚拟地址,这个地址是一个无符号的整数,比如一个32位的操作系统,他的带宽就是32,他的虚拟地址就是2的32次方,也就是说他寻址的范围就是0~2^32, 这片寻址空间对应的就是2^32个字节,就是4GB,这个4GB,会有3个GB分给用户空间,会有1GB给内核系统。因此,对于Redis的核心网络模型,在Redis 6.0之前确实都是单线程。原创 2024-07-28 19:02:45 · 1087 阅读 · 0 评论 -
Redis底层数据结构的实现
1、因为现在字符串长度小于等于44字节,所以。原创 2024-07-26 22:12:13 · 521 阅读 · 0 评论