自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(6)
  • 资源 (2)
  • 收藏
  • 关注

原创 Redis数据结构(一):RedisObject、String(SDS)

RedisObject     所有的 Redis 对象 都有下面的这个头结构。不同的对象具有不同的类型 type (4bit)。同一个类型的 type 会有不同的存储形式 encoding (4bit)。为了记录对象的 LRU 信息,使用了 24 个 bit 来记录 LRU 信息。每个对象都有个引用计数,当引用计数为零时,对象就会被销毁,内存被回收。ptr 指针将指向对象内容(body)的具体存储位置。这样一个 RedisObject 对象头结构 需要占据 16 字节的存储空间。 struct Redis

2020-07-08 21:30:00 607

原创 LRU缓存java实现

算法     LRU 缓存机制可以通过哈希表配合双向链表实现,插入缓存或者获取缓存时移动相对应节点至链表尾部,起到保存访问顺序作用。哈希表可以实现O(1)时间复杂度查找链表节点,对于移动链表节点,节点保存了前置指针和后置指针,可以实现O(1)时间复杂度的删除与插入。具体操作如下: 缓存插入     判断哈希表思否存在该该key,如果存在,获取该链表节点,并更新value;如果不存在则将键值对封装成新的链表节点;将该节点加入哈希表并插入链表尾部,tail指针指向当前节点,如果插入时缓存为空,则head与ta

2020-07-05 23:20:34 178

原创 二叉树的遍历

二叉树     二叉树(Binary tree)是树形结构的一个重要类型,二叉树的特点是每个结点最多只能有两棵子树,且有左右之分,下图所示就是一棵二叉树。     先序遍历     前序遍历(DLR)是二叉树遍历的一种,也叫做先根遍历、前序遍历、前序周游,可记做根左右。前序遍历首先访问根结点,然后遍历左子树,最后遍历右子树。     对于上图中的二叉树,先序遍历结果为:1、2、4、5、3、6、7 中序遍历     中序遍历(LDR)是二叉树遍历的一种,也叫做中根遍历、中序周游。可记做左根右,中序遍历首先遍

2020-06-30 22:37:34 196

原创 Redis的淘汰策略

Redis的淘汰策略     当 Redis 内存超出物理内存限制(maxmemory)时,内存的数据会开始和磁盘产生频繁的交换(swap),使 Redis 的性能急剧下降。Redis 提供了配置参数 maxmemory 来限制内存超出期望大小。当实际内存超出 maxmemory 时, Redis 提供了几种可选策略(maxmemory-policy)来让用户自己决定该如何腾出新的空间以继续提供读写服务。 noeviction     不会继续服务写请求(del 请求可以继续服务),读请求可以继 续进行。

2020-06-29 23:03:14 231

原创 Redis的过期策略

过期策略 过期策略通常有以下三种: 主动删除     每个设置过期时间的key创建一个定时器,过期会立即清除。该策略可以及时清除过期的数据,对内存友好;但是会占用大量的CPU资源去处理过期的数据,从而影响缓存的响应时间和吞吐量。 优点:立即清除过期的数据,对内存友好 缺点:消耗CPU资源 惰性删除     当访问key时,才判断该key是否已过期,过期则清除。该策略最大化地节省了CPU资源,却对内存不友好。极端情况下会出现大量的过期key没有再次被访问,无法清除,占用大量内存。 优点:基本不耗CPU资源

2020-06-29 21:53:13 200

原创 IP转换二进制

8位二进制每位从左到右对应的权值分别是 128、64、32、16、8、4、2、1,即2^(n-1),n为位数。 1 1 1 1 1 1 1 1 128 64 32 16 8 4 2 1 2^(8-1) 2^(7-1) 2^(6-1) 2^(5-1) 2^(4-1) 2^(3-1) 2^(2-1) 2^(1-1) 一个256以内的数给你化为二进制,都可以分解为权值相加,对应的...

2018-12-19 10:40:47 12731 1

Akka应用模式-分布式应用程序设计实践指南.pdf

本书一开始介绍了 Actor 模型,因为该模型比其他模型更能反映现实世界。另外,本书介绍了 Actor 模型的一个实现框架 Akka 以及它的工具,而后讨论了在充分利用 actor 架构的基础上使用 Akka 框架来设计软件系统的方法,以及使用它来开发并发性和分布式应用程序的方怯。本书还介绍了领域 驱动设计(DDD),指导通过结合 Akka、 Actor 模型和 DDD 构建强大的、高可扩展的、高可维护的系统。 遵循并灵活运用本书介绍的思路和方法,一定能创建出集可伸缩性、弹性、灵活性、长期易于维 护性等优点子一身的应用程序和系统。

2018-12-14

RedisDesktopManager 0.9.9

RedisDesktopManager,windows版本Redis的可视化管理工具,0.9.9版本。

2018-12-01

空空如也

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

TA关注的人

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