自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

hebtu666

少说,多做。

  • 博客(9)
  • 收藏
  • 关注

原创 redis原理总结

数据结构(字典、链表、字符串)数据结构(整数集合,压缩列表)数据结构(跳表介绍和手撕)LRU介绍和实现对象(字符串对象、列表对象、哈希对象、集合对象、有序集合总结)数据库简介数据持久化持续更新。。。...

2019-04-19 18:57:39 3564 46

原创 redis——持久化

因为redis是内存数据库,他把数据都存在内存里,所以要想办法实现持久化功能。RDBRDB持久化可以手动执行,也可以配置定期执行,可以把某个时间的数据状态保存到RDB文件中,反之,我们可以用RDB文件还原数据库状态。 生成有两个命令可以生成RDB文件:SAVE命令由服务器进程直接执行保存操作,所以该命令会阻塞服务器,服务器不能接受其他指令。 BGSAVE命令由子进程...

2019-04-18 23:12:40 4072 29

原创 redis——数据库

redis服务器将所有数据库都保存在redis/redisServer中,数组db存放所有数据库,每一项是一个redisdb结构。dbnum代表数据库数量。客户端有一个指针指向当前数据库,可以切换,也就是移动指针。键空间现在稍微介绍一下redisdb结构,它的字典保存了所有键值对键空间的键也就是数据库的键, 每个键都是一个字符串对象。键空间的值也就是数据库的值, 每个值可以是字...

2019-04-18 17:51:31 3619 28

原创 redis——对象

刚写了redis主要的数据结构:动态字符串、双端链表、字典、压缩列表、整数集合、跳表等redis肯定不能直接使用这些数据结构来实现数据库,它用这些数据库建立了一个对象系统,包含:字符串对象、列表对象、哈希对象、集合对象、有序集合对象我们可以针对不同的使用场景,为对象设置多种分不同的数据结构实现,从而优化对象在不同场景下的效率。键值对对于redis的键值对来说:key只有字符...

2019-04-18 14:10:19 3679

原创 跳表介绍和实现

想慢慢的给大家自然的引入跳表。想想,我们1)在有序数列里搜索一个数2)或者把一个数插入到正确的位置都怎么做?很简单吧对于第一个操作,我们可以一个一个比较,在数组中我们可以二分,这样比链表快对于第二个操作,二分也没什么用,因为找到位置还要在数组中一个一个挪位置,时间复杂度依旧是o(n)。那我们怎么发明一个查找插入都比较快的结构呢?可以打...

2019-04-18 13:08:19 13971 108

原创 LRU介绍和实现

LRU全称是LeastRecently Used,即最近最久未使用的意思。LRU算法的设计原则是:如果一个数据在最近一段时间没有被访问到,那么在将来它被访问的可能性也很小。也就是说,当限定的空间已存满数据时,应当把最久没有被访问到的数据淘汰。(这一段是找的,让大家理解一下什么是LRU)。说一下我们什么时候见到过LRU:其实老师们肯定都给大家举过这么个例子:你在图书馆,你把书架子里的...

2019-04-17 18:22:01 5069 59

原创 redis——数据结构(整数集合,压缩列表)

4、整数集合整数集合(intset)是 Redis 用于保存整数值的集合抽象数据结构, 可以保存int16_t、int32_t、int64_t的整数值, 并且保证集合中不会出现重复元素。实现较为简单:typedef struct intset { // 编码方式 uint32_t encoding; // 集合包含的元素数量 uint32_...

2019-04-17 15:57:12 3445 27

原创 Hotspot虚拟机的对象

创建Step1:类加载检查虚拟机遇到一条 new 指令时,首先将去检查这个指令的参数是否能在常量池中定位到这个类的符号引用,并且检查这个符号引用代表的类是否已被加载过、解析和初始化过。如果没有,那必须先执行相应的类加载过程。Step2:分配内存在类加载检查通过后,接下来虚拟机将为新生对象分配内存。对象所需的内存大小在类加载完成后便可确定,为对象分配空间的任务等同于把一块确定大...

2019-04-16 19:04:14 3076

原创 redis——数据结构(字典、链表、字符串)

1 字符串redis并未使用传统的c语言字符串表示,它自己构建了一种简单的动态字符串抽象类型。在redis里,c语言字符串只会作为字符串字面量出现,用在无需修改的地方。当需要一个可以被修改的字符串时,redis就会使用自己实现的SDS(simple dynamic string)。比如在redis数据库里,包含字符串的键值对底层都是SDS实现的,不止如此,SDS还被用作缓冲区(buff...

2019-04-16 18:27:29 4425 27

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除