skynet.newservice简介:服务的启动 在 skynet 的体系中,服务是一个基础概念。通常,我们使用 skynet.newservice 来启动一个 snlua 服务。那么,当我们写下 local addr = skynet.newservice("test") 这行代码时,系统是怎么运作的呢... 2024-05-20 skynet #游戏服务器 #skynet
TCP的四次挥手过程 TCP连接是双向传输的对等的模式(全双工模式),就是说双方都可以同时向对方发送或接收数据。而断开的时候,也是双方都可以主动断开,此时需要经过四次挥手的过程... 2024-05-06 网络 #网络
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