- 博客(14)
- 资源 (1)
- 收藏
- 关注
原创 Transformers使用mt5模型报错:ImportError: T5Converter requires the protobuf library but it was not found
使用huggingface transformers加载mt5模型报错
2022-11-29 21:51:10
3694
1
原创 Git Command入门指南
在五一的时间抽空学习学习git,看了一下午,想记录记录一些基础的东西出来。git是一个分布式的版本控制工具,工作起来相当于,远程是一份仓库,本地也是一份仓库。大家都是仓库。与SVN比起来,具有更强的容灾性,性能也更高,不会受到太多网络的限制(单机版本的git也照样用,只是没法用远程仓库而已,这样来对网络带宽也节省多了。)(题外话,GFS和MapReduce也是跟git差不多时候出来的,那时候刚04年左右。。。那时候的分布式就已经开始这么广泛的应用了吗)使用时,先用git add,将想要
2022-05-01 01:35:36
667
原创 redis中的哨兵和集群
哨兵其实就相当于一个法官,一堆哨兵就相当于一个法庭。他们可以决定哪个服务器是主服务器,哪些服务器是从服务器。当主服务器坏了哪个又该成为新的主服务器以及这一过程中间的步骤。创建Sentinel--哨兵,是一个特殊情况的服务器,他的创建和服务器的创建极为相似,只是使用的命令和普通服务器不同(没有set,get等)。它会在创建时读取配置好的文件,从而为每隔服务器创建相对应的对象,这些对象中包含了该服务器的地址,状态等等信息。sentinel相当于一个摄像头,它可以监管主服务器以及主服务器下面...
2022-04-23 13:07:45
942
原创 redis中的事件机制
事件分为文件事件和时间事件例如set,get等属于文件事件,而定时任务和轮询等操作属于时间事件redis为文件事件定义了很多处理器,如连接应答处理器,相应处理器等等。其实这些处理器就是实现对客户端的不同请求进行应答。当客户端连接服务器时,产生的时AE_READABLE事件,而当服务器对客户端进行回送时,执行的是AE_WRITEABLE事件文件处理器由上述部分组成。套接字是客户端对服务端进行连接的地方,它们之间使用TCP连接。I/O多路复用负责将套接字---即客户端产生的请求...
2022-04-23 13:04:33
782
原创 redis中的客户端->服务器通信
redis服务器通过链表结构来保存所以与它相连接的客户端属性这些属性中有两类。一类是基本属性,用于标识客户端。另一类则是功能性的属性基本属性:套接字描述符(其实就是为客户端起了个id。伪服务器的这个值是-1),名字(默认所有的客户端名字都是空的,需要自己设置),标志(例如主从服务器,或者用于执行lua脚本,aof文件的伪客户端等等,用于描述当前服务器的操作,或者当前服务器的属性)关于一个特殊的aof输入缓冲区的概念:错误:不是保存在客户端,而是保存在服务端。...
2022-04-23 13:02:50
982
原创 浅谈redis中aof的原理和实现方式
aof为append on file。它更类似MySQL中的sql文件,而ROB则类似于将某一时刻内存中redis的全体状态被分别存储到磁盘中。aof会将内存中所有对数据库进行的增删改操作纪律下来,放入内存中的一个缓冲区,然后再由缓冲区保存到磁盘。等到要用的时候就把语句一条条的取出来,执行它由于很多操作是重复的,如10 时刻设置a等于hello,20 时刻设置a等于world。那么仅需要保存world,前面的修改均不许需要关心,这就是aof文件的重写,可以减少很多文件冗余。重写的机制其...
2022-04-23 13:01:29
832
原创 反射基本应用:将Java对象转换为JSON字符串
很简单的一个例子,前段时间学到反射,发现这玩意实在太妙了,再一看,发现Java1版本就有这逆天的特性了,实在是被大佬的智慧折服了。由于本人不才,想象力不够,暂时能想到的就是这个小玩意了。故而还有很多地方没做好。如果哪位大佬有意见或者可以改进的地方,请务必留在评论区~~~package com.example.demo.util;import lombok.AllArgsConstructor;import lombok.Getter;import lombok.Setter;import l
2022-03-31 10:48:09
670
原创 Redis中的持久化操作:浅谈ROB中的底层细节和实现源码
使用SAVE和BGSAVE生成rob文件。rob文件可以用来还原数据库状态底层细节:而这两个方法的实质都是调用rdbsave()方法来执行保存数据库的操作只是SAVE方法是单线程的,而bgsave方法相当于开了一个子进程来保存rob文件注意:由此可见,当使用save命令时,redis不能执行其他操作。若此时有其他操作,会等待save执行完毕后继续执行BGSAVE在保存时,若有其他命令,则会使用子进程进行保存,父进程用于执行其他命令redis启动时,若检测到有rob文...
2022-03-26 18:15:36
866
原创 redis中的对象(二),浅谈内存回收机制
redis的对象结构(来自源码)内存回收机制:redis中,创建一个对象时,引用计数值会变为1.每当一个地方引用它,会自增1每当一个地方停止引用,会减1当计数器为0时,销毁该对象对象共享:类似于Java一样,当创建一个string a = ”100“时,会将aaa存入内存但是当string b = ”100“时,并不会额外创建一个”100“,而是将b指向a的内存这种方式就是共享。同时若是共享的话,那么”100“的引用计数器会+1redis不会...
2022-02-10 20:59:38
721
1
原创 redis中的对象(一)
redis并没有直接用数据结构来存储数据,而是将他们聚合为一个对象redis有五大数据类型,str,list,dict(map),set,orderset。这五个数据库类型的底层基本都是由上一篇讲过的数据结构定义的redis中的对象均是以键值对的形式来存储的。我们讨论的对象是“值”的对象,而键的对象均是string一个对象有三个属性1.TYPE:是一个常量,主要有上述几种。当然这是“值”的对象类型2. ENCODING:说明了对象使用了怎样的编码结构作为底...
2022-02-06 23:56:09
936
原创 redis的数据结构
String(SDS):与c语言不同。c语言在字符串的末尾使用空字符来表明一个字符串,即n个字符需要n+1的空间。而redis使用了SDS----动态字符串,具有以下特点:取字符串的长度仅需要 O(1)的时间复杂度 会为字符串预分配空间,使其append用时减少。而c语言在append时需要先查找空间。 避免字符串溢出。c语言在append时如果不进行空间查找和属性修改,便会直接在原字符串后进行append。若是原字符串限定了长度,会导致空间的溢出。而SDS在调用该API时会先修...
2022-02-06 23:49:12
644
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人