自定义博客皮肤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

少说,多做。

原创 redis原理总结

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

2019-04-19 18:57:39 1485 2

原创 redis——持久化

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

2019-04-18 23:12:40 1760 1

原创 redis——数据库

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

2019-04-18 17:51:31 1330 0

原创 redis——对象

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

2019-04-18 14:10:19 1428 0

原创 跳表介绍和实现

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

2019-04-18 13:08:19 9192 59

原创 LRU介绍和实现

LRU全称是LeastRecently Used,即最近最久未使用的意思。 LRU算法的设计原则是:如果一个数据在最近一段时间没有被访问到,那么在将来它被访问的可能性也很小。也就是说,当限定的空间已存满数据时,应当把最久没有被访问到的数据淘汰。(这一段是找的,让大家理解一下什么是LRU)。 ...

2019-04-17 18:22:01 1814 0

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

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

2019-04-17 15:57:12 1141 0

原创 Hotspot虚拟机的对象

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

2019-04-16 19:04:14 827 0

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

1 字符串 redis并未使用传统的c语言字符串表示,它自己构建了一种简单的动态字符串抽象类型。 在redis里,c语言字符串只会作为字符串字面量出现,用在无需修改的地方。 当需要一个可以被修改的字符串时,redis就会使用自己实现的SDS(simple dynamic string)。比如...

2019-04-16 18:27:29 1803 0

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