缓存
文章平均质量分 91
georgesnoopy
这个作者很懒,什么都没留下…
展开
-
redis集群及数据淘汰简介
redis通过在slave上执行replicaof 主节点ip 主节点port来建立主从关系,当执行了这个命令时:建立主从关系会执行一次全量数据同步从节点发送psync请求给主节点主节点收到请求后,会生成一个全量的rdb文件,然后将rdb文件传输给从节点从节点收到rdb文件后,会先清空自己本地的数据,然后加载rdb文件。ps:这个过程是消耗比较大的。后续增量的修改,都会将修改命令异步同步给从节点。主从关系建立后,主节点所有对数据修改的命令都会同步给从节点,以此保证主从数据的一致。原创 2023-04-16 08:38:38 · 327 阅读 · 0 评论 -
基于redis实现分布式锁
中将锁的本质分成了两部分,来分析理解锁的本质,并结合了java中的锁从这两部分来分析理解锁标志的存储加锁时,遇到锁被占用该怎么办。分布式锁的本质也是个锁,其实同样是从这两方面来分析。锁标志的存储。对于线程锁,锁标志的存储就需要放到所有线程都可以访问的地方,而线程都是共享进程的资源的,所以毫无疑问,锁标志都是放到进程中的,这样进程下的线程都是可以访问到。原创 2023-04-16 08:08:37 · 413 阅读 · 0 评论 -
redis的IO及高性能
linux环境下,redis客户端和服务端的是通过linux提供的socket接口来实现网络通信的。这里简单介绍小socket的缓冲区,操作系统内核会为每个socket分配一个读缓冲区和写缓冲区,即socket的缓冲区是内核空间中内存区域:对于接收网络数据,内核是将接收的数据先存放在缓冲区的,应用线程是去缓冲区读取数据。如果应用线程读取数据的时候,缓冲区是空的,那就会阻塞应用线程(当然也有非阻塞的方式)原创 2023-03-30 19:55:59 · 796 阅读 · 0 评论 -
redis的数据结构
redis的全局hash表的桶位存储是个Entry结构,Entry里的value指针指向的是一个RedisObject结构,这个RedisObject才是真正承载value数据的结构。前面简单介绍了RedisObject包含两部分元数据和指针,其8字节的元数据进一步分成了4个字段8字节的元数据:type:value的类型,包括了redis内置的string、list、map、set、sortedset、hyperloglog。原创 2023-03-26 21:41:45 · 444 阅读 · 0 评论