Redis报错:CROSSSLOT Keys in request don't hash to the same slot的解决方案 Redis 的插槽(Slot)是用于实现集群分片(Cluster Sharding)的一种机制。Redis 集群至少需要三个结点,每个结点处理一部分数据。要怎么分配这些数据到各个结点?Redis Cluster 采用的是虚拟槽分区算法,其中提到了槽(Slot)的概念... 2024-04-12 redis #redis
double类型中可精确表达的最大正整数 之前在项目中,使用redis的zset来实现排行榜,由于zset中的分数使用了double类型,而我们排行的数值都是整数,所以引起一个问题:在double中,能精确表示的,不会丢失精度的最大正整数是多少呢?先说结论:是2^53−1,即 9,007,199,254,740,991... 2024-04-09
Redis的跳跃表 在Redis中,有一种高效的数据结构叫做有序集合(zset),它是一种集合,其中每个成员(member)都会关联一个分数(score)。zset既可以快速地通过member找到该成员对应的分数,又可以按照分数的大小进行范围查询,这对于实现排行榜等功能非常有用。那么zset是如何实现这样的功能的呢?答案是跳跃表(skiplist)... 2024-04-02 redis #redis #数据结构
skynet之main服务的启动 我们知道,skynet 以 服务(service)为基础,那么,当我们输入指令 > skynet examples/config 之后,skynet 启动的第一个服务会是什么呢... 2024-03-29 skynet #skynet #lua
使用Docker搭建Redis Cluster集群 Cluster模式是Redis的一种高级集群模式,它通过数据分片和分布式存储实现了负载均衡和高可用性。在Cluster模式下,Redis将所有的键值对数据分散在多个节点上。每个节点负责一部分数据,称为 `槽位`。通过对数据的分片,Cluster模式可以突破单节点的内存限制,实现更大规模的数据存储... 2024-03-28 redis #redis
在MySQL的PREPARE中绑定WHERE IN子句参数 在 MySQL 中,PREPARE 是一种用于准备执行动态 SQL 语句的机制。通过 PREPARE,你可以将一个 SQL 查询或操作的查询计划(执行计划)准备好,然后在稍后的时间点执行它,而不是立即执行。这带来了以下好处... 2023-09-17
Redis Pipeline管道技术 Pipeline是Redis提供的一种批量请求机制,可以在client端对多条命令进行打包,然后一次性发送给服务器,避免了多次网络往返的开销... 2023-08-06
hiredis的同步模式和异步模式 Hiredis 是一个 C 语言编写的 Redis 客户端库,用于与 Redis 数据库进行交互。它提供了一个简洁而高效的接口,使开发人员可以方便地在自己的 C/C++ 项目中使用 Redis。Hiredis 是一个开源项目,可从其官方 GitHub 仓库获取源代码,并在符合 BSD 许可证的条件下使用和分发。它被广泛应用于各种 C/C++ 项目中,特别是那些需要与 Redis 数据库进行快速、可 2023-06-18