会员
周边
新闻
博问
闪存
众包
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
bulesea
博客园
首页
新随笔
联系
订阅
管理
上一页
1
2
3
4
5
6
7
8
9
···
14
下一页
2024年3月12日
redis自学(16)select
摘要: Select select是Linux中最早的I/O多路复用实现方案: nfds是FD遍历的一个上限,遍历到这个值的时候,就意味着不用再往后去遍历了。 fds_bits 是存储1024个比特位,代表1024个fd,这个数量是__d_mask四个字节共32个比特位乘以fds_bits的32长度得到的
阅读全文
posted @ 2024-03-12 11:05 蓝海的bug本
阅读(47)
评论(0)
推荐(0)
2024年3月11日
redis自学(15)IO多路复用
摘要: 无论是阻塞IO还是非阻塞IO,用户应用在一阶段都需要调用recvfrom来获取数据,差别在于无数据时的处理方案: 如果调用recvfrom时,恰好没有数据,阻塞IO会使进程阻塞,非阻塞IO使CPU空转,都不能充分发挥CPU的作用。 如果调用recvfrom时,恰好有数据,则用户进程可以直接进入第二阶
阅读全文
posted @ 2024-03-11 15:35 蓝海的bug本
阅读(37)
评论(0)
推荐(0)
2024年3月8日
redis自学(14)阻塞IO与非阻塞IO
摘要: 阻塞IO 顾名思义,阻塞IO就是两个阶段都必须阻塞等待: 调用revfrom函数的时候,内核没有数据,有两种处理结果,一个是返回失败的信息,一个是等待,而阻塞IO的选择是等待。 可以看到,阻塞IO模型中,用户进程在两个阶段都是阻塞状态。 非阻塞IO 顾名思义,非阻塞IO的recvfrom操作会立即返
阅读全文
posted @ 2024-03-08 17:35 蓝海的bug本
阅读(59)
评论(0)
推荐(0)
2024年3月7日
redis自学(13)用户空间和内核空间
摘要: 服务器大多采用Linux系统,所以以Linux为例: 任何Linux发行版,其系统内核都是Linux。我们的应用都需要通过Linux内核与硬件交互。 用户应用是无法直接访问计算机硬件,只能访问内核,基于内核操作计算机硬件 为了避免用户应用导致冲突甚至内核崩溃,用户应用与内核是分离的: l 进程的寻址
阅读全文
posted @ 2024-03-07 14:35 蓝海的bug本
阅读(57)
评论(0)
推荐(0)
2024年3月6日
redis自学(12)Hash
摘要: Hash Hash结构与Redis中的Zset非常类似: l 都是键值存储 l 都需要根据键获取值 l 键必须唯一 区别如下: l zset的键是member,值是score;hash的键和值都是任意值 l zset要根据score排序,hash则无需排序 因此,Hash底层采用的编码与Zset也基
阅读全文
posted @ 2024-03-06 17:53 蓝海的bug本
阅读(20)
评论(0)
推荐(0)
2024年3月5日
redis自学(11)ZSet
摘要: ZSet也就是SortedSet,其中每一个元素都需要制定一个score值和member值: 可以根据score值排序 member必须唯一 可以根据member查询分数 因此,zset底层数据结构必须满足键值存储、键必须唯一、可排序这几个需求。之前学习的那种编码结构可以满足? SkipList:可
阅读全文
posted @ 2024-03-05 14:18 蓝海的bug本
阅读(27)
评论(0)
推荐(0)
2024年3月4日
redis自学(10)Set
摘要: Set是Redis中的单列集合,满足下列特点: 不保证有序性 保证元素唯一(可以判断元素是否存在) 求交集、并集、差集 以上操作,都需要判断元素是否存在,因此可以看出,Set对查询元素的效率要求非常高 Set是Redis中的集合,不一定确保元素有序,可以满足元素唯一、查询效率要求极高。 为了查询效率
阅读全文
posted @ 2024-03-04 14:38 蓝海的bug本
阅读(40)
评论(0)
推荐(0)
2024年3月1日
redis自学(9)List
摘要: List Redis的List类型可以从首、尾操作列表中的元素: 哪一个数据结构能满足上述特征? LinkedList: 普通链表,可以从双端访问,内存占用较高,内存碎片较多 ZipList: 压缩列表,可以从双端访问,内存占用低,存储上限低 QuickList: LinkedList+ZipLis
阅读全文
posted @ 2024-03-01 16:24 蓝海的bug本
阅读(21)
评论(0)
推荐(0)
2024年2月29日
redis自学(8)String
摘要: String是Redis中最常见的数据存储类型: 其基本编码方式是RAW,基于简单动态字符串(SDS)实现,存储上限为512mb。 RedisObject的头和SDS是两个独立的内存空间 如果存储的SDS长度小于44字节,则会采用EMBSTR编码,此时object head与SDS是一段连续空间。申
阅读全文
posted @ 2024-02-29 17:08 蓝海的bug本
阅读(50)
评论(0)
推荐(0)
2024年2月28日
redis自学(7)RedisObject
摘要: RedisObject redis中的任意数据类型的键和值都会封装为一个RedisObject,也叫做Redis对象。 Redis对象头部占16个字节 (不包含指针指向的内存空间),所以大量数据使用的情况下,不推荐使用OBJ_STRING类型存储,用OBJ_LIST更好 Redis的编码方式
阅读全文
posted @ 2024-02-28 14:16 蓝海的bug本
阅读(31)
评论(0)
推荐(0)
上一页
1
2
3
4
5
6
7
8
9
···
14
下一页
公告