摘要: Redis的插槽(`Slot`)是用于实现集群分片(`Cluster Sharding`)的一种机制。Redis集群至少需要三个结点,每个结点处理一部分数据。那么怎样分配这些数据到各个结点呢?Redis Cluster 采用的是虚拟槽分区算法,其中提到了槽(`Slot`)的概念... 阅读全文
posted @ 2024-04-14 23:37 看热闹的咸鱼 阅读(903) 评论(0) 推荐(0)
摘要: 之前在项目中,使用redis的zset来实现排行榜,由于zset中的分数使用了double类型,而我们排行的数值都是整数,所以引起一个问题:在double中,能精确表示的,不会丢失精度的最大正整数是多少呢?先说结论:是2^53−1,即9,007,199,254,740,991... 阅读全文
posted @ 2024-04-13 00:04 看热闹的咸鱼 阅读(1133) 评论(0) 推荐(0)
摘要: Redis的跳跃表 在Redis中,有一种高效的数据结构叫做有序集合(zset),它是一种集合,其中每个成员(member)都会关联一个分数(score)。zset既可以快速地通过member找到该成员对应的分数,又可以按照分数的大小进行范围查询,这对于实现排行榜等功能非常有用。那么zset是如何实现这样的功能的呢?答案是跳跃表(skiplist)... 阅读全文
posted @ 2024-04-07 23:33 看热闹的咸鱼 阅读(215) 评论(0) 推荐(0)
摘要: 我们知道,skynet 以 服务(service)为基础,那么,当我们输入指令 > skynet examples/config 之后,skynet 启动的第一个服务会是什么呢... 阅读全文
posted @ 2024-03-30 17:36 看热闹的咸鱼 阅读(123) 评论(0) 推荐(0)
摘要: Cluster模式是Redis的一种高级集群模式,它通过数据分片和分布式存储实现了负载均衡和高可用性。在Cluster模式下,Redis将所有的键值对数据分散在多个节点上。每个节点负责一部分数据,称为 `槽位`。通过对数据的分片,Cluster模式可以突破单节点的内存限制,实现更大规模的数据存储... 阅读全文
posted @ 2024-03-29 23:19 看热闹的咸鱼 阅读(405) 评论(0) 推荐(1)
摘要: 在 MySQL 中,PREPARE 是一种用于准备执行动态 SQL 语句的机制。通过 PREPARE,你可以将一个 SQL 查询或操作的查询计划(执行计划)准备好,然后在稍后的时间点执行它,而不是立即执行。这带来了以下好处... 阅读全文
posted @ 2023-09-17 23:32 看热闹的咸鱼 阅读(116) 评论(0) 推荐(0)
摘要: ### 1.什么是pipeline `Pipeline`是`Redis`提供的一种批量请求机制,可以在client端对多条命令进行打包,然后一次性发送给服务器,避免了多次网络往返的开销。 ### 2.pipeline的优势 为了解释`pipeline`的作用,我们先思考一个问题: 如果客户端需要依次 阅读全文
posted @ 2023-08-06 17:14 看热闹的咸鱼 阅读(223) 评论(0) 推荐(0)
摘要: 在MySQL中,每个事务都会在提交后生成相应的Binlog记录。MySQL服务器会为每个客户端连接创建一个线程,称为Binlog Dump线程,负责将Binlog的内容传送给从服务器,用于数据复制。Binlog可以在服务器的文件系统中持久化存储,保证了数据的持久性... 阅读全文
posted @ 2023-07-30 18:17 看热闹的咸鱼 阅读(703) 评论(0) 推荐(0)
摘要: ### 1.概述: MySQL从5.7版本开始引入了对JSON数据类型的原生支持。 这个增强功能使开发人员能够直接在数据库中存储、操作和查询JSON数据。 MySQL的JSON字段为存储半结构化数据提供了更加灵活和高效的方式。 相比传统的关系型数据库,使用JSON字段的优势包括: * 灵活性:JSO 阅读全文
posted @ 2023-07-22 17:37 看热闹的咸鱼 阅读(1858) 评论(1) 推荐(0)
摘要: ### 1.什么是hiredis Hiredis 是一个 C 语言编写的 Redis 客户端库,用于与 Redis 数据库进行交互。它提供了一个简洁而高效的接口,使开发人员可以方便地在自己的 C/C++ 项目中使用 Redis。 Hiredis 是一个开源项目,可从其官方 GitHub 仓库获取源代 阅读全文
posted @ 2023-06-22 16:37 看热闹的咸鱼 阅读(690) 评论(0) 推荐(0)