TCP的三次握手过程 TCP 是面向连接的、可靠的、基于字节流的传输层通信协议。TCP 是面向连接的协议,所以使用 TCP 前必须先建立连接,而建立连接是通过三次握手来进行的... 2024-04-29 网络 #网络
使用Redis实现游戏排行榜 排行榜在当今应用中扮演着至关重要的角色。无论是游戏中的玩家排名、社交平台的用户活跃度榜单,还是其他领域的各种榜单,排行榜都是用户参与性和互动性的关键。在实现排行榜功能时,选择合适的数据库和数据结构至关重要。Redis,作为一种内存数据库,以其高性能和灵活性而备受青睐。下面将探讨如何使用 Redis 的有序集合(Sorted Set)来实现排行榜功能... 2024-04-12 Redis #Redis #游戏开发
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 MySQL #MySQL
Redis Pipeline管道技术 Pipeline是Redis提供的一种批量请求机制,可以在client端对多条命令进行打包,然后一次性发送给服务器,避免了多次网络往返的开销... 2023-08-06 Redis #Redis
MySQL使用binlog恢复数据 MySQL的二进制日志(Binlog)是一种事务日志,用于记录对数据库的更改操作。Binlog主要用于MySQL复制和恢复... 2023-07-30 MySQL #MySQL