- 博客(4)
- 资源 (1)
- 收藏
- 关注
原创 redis分布式锁SETNX
利用redis的单线程特性,在多个客户端同时用SETNX获取锁,由于单线程的原因,只会有一个客户端获取到锁,其他客户端会失败。获取到锁后进行释放锁操作,通过DEL释放锁操作。为了防止客户端一直占用,需要给锁设置过期时间,常见用法为SETNX key value EXPIRE key 10 或SET key value EX 10 NX。若当前key的值已经存在,再次setnx会导致失败,因为值已经存在。2)如果加锁后时间较长,并且设置的过期时间较短,可能会导致锁的误释放。1)若无法及时释放锁,会导致死锁。
2024-06-29 23:32:46 230
原创 Redis的数据分片原理
在Redis的分片集群模式中,使用哈希槽的方式来进行数据分片。Redis集群有16384个哈希槽,每个槽都有一个编号(0~16383),集群的每个节点可以负责多个hash槽,客户端访问数据时,每个key通过CRC16校验后对16384取模来决定放置哪个槽。2.将输入数据的第一个字节与16位寄存器的低8位进行异或操作,结果作为新的16位寄存器的值;3.将16位寄存器的高8位和低8位分別右移一位,丢弃掉最低位,即寄存器右移一位;5.如果输入数据已经处理完,将16位寄存器的值取反,得到CRC16校验码。
2024-06-24 14:02:23 111
原创 关于redis的三种集群模式
主从复制是Redis中最简单的集群模式,这个模式主要是解决单节点故障的问题,单节点的并发能力是有上限的,要进一步提高Redis的并发能力,就需要搭建主从集群,实现读写分离。主从模式中,包括一个主节点和多个从节点。主节点负责处理所有的写操作和读操作,而从节点则复制主节点的数据,并且只能处理读操作。当主节点发生故障后,可以将从节点升级为新的主节点,实现故障转移。
2024-06-23 23:27:27 289
原创 c语言顺序表伪代码实现
伪代码实现,顺序表#include <stdio.h>#include <stdlib.h>typedef int ElemType;/*定义顺序表*/typedef struct { ElemType *elem; int length; int listsize;} SqList;/*初始化顺序表*/void InitList(SqList *l) { l->length = 0;}int lnitList_Sq(SqList &L) {
2021-05-25 23:18:55 672
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人