自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 资源 (12)
  • 问答 (1)
  • 收藏
  • 关注

原创 跳跃表原理+代码完整

转载了参考文章的部分内容,代码自己敲了一遍,记录下来用来自己复习用。参考文章地址:http://dsqiu.iteye.com/blog/1705530本文内容框架: §1 Skip List 介绍 §2 Skip List 定义以及构造步骤   §3 Skip List 完整实现 §1 Skip List 介绍 Skip Li...

2018-03-25 14:09:56 2322 4

转载 一致性哈希原理详解(虚拟节点)

转自:http://www.cnblogs.com/haippy/archive/2011/12/10/2282943.html一致性Hash算法背景  一致性哈希算法在1997年由麻省理工学院的Karger等人在解决分布式Cache中提出的,设计目标是为了解决因特网中的热点(Hot spot)问题,初衷和CARP十分类似。一致性哈希修正了CARP使用的简单哈希算法带来的问题,使得DHT可以在P2...

2018-03-20 15:56:58 15594 3

转载 无锁队列

转载:http://coolshell.cn/articles/8239.html关于无锁队列的实现,网上有很多文章,虽然本文可能和那些文章有所重复,但是我还是想以我自己的方式把这些文章中的重要的知识点串起来和大家讲一讲这个技术。下面开始正文。关于CAS等原子操作在开始说无锁队列之前,我们需要知道一个很重要的技术就是CAS操作——Compare & Set,或是 Compare &...

2018-03-20 15:40:55 342 1

原创 reids学习笔记(十五)--Redis数据结构的使用场景总结

《论语》中说:温故而知新。学习了几天的redis如果不回头总结复习,有些小知识小细节难免忘记,今天就回顾复习并总结一下redis的中数据类型以及这些数据类型在企业中的实际应用场景。看了之前的博客你可能会有个疑问,redis那么多数据类型到底怎么用呢?又是怎么提高应答客户请求的速度呢?下面我们就来结合相关数据结构的命令看看它的用处:1.string 字符串类型。我能想到的就是:1.使用redis进行...

2018-03-16 12:39:25 641 1

原创 Redis学习笔记(十四)--sentinel运维监控

在学习本节内容之前:要复习:redis主从复制我就用第一种模型来做下面的学习跟测试,这里说个题外话,这几天学习redis打算用一个周的时间对redis有意哥初步的认识,在坚持了这些天以后,今晚学起来感觉有点累,虽然对redis的未知功能充满了好奇,但是我还是不想自己在没有状态的时候学习自己特别想学好的知识,在写这篇博客的时候做了一点心理挣扎,最总觉得自己还是不可以为自己找借口,坚持就是胜利,所以还...

2018-03-16 00:03:49 983 4

原创 Redis学习笔记(十三)--aof恢复和rdb服务器间迁移

今天处理点实际问题:1.不小心执行flushall怎么办?答:立即shutdown nosave服务器(这一条不会写入aof),因为当你flushall后可能还要号就分钟rdb(数据还没存储),这时候aof可能还没有重写,你这时候shutdown nosave服务器,防止其他进程写数据,导致aof重写,只要aof没有重写,然后手工进aof文件修改flushall相关行,这样就不会导致数据丢失。万一...

2018-03-15 19:53:27 994 2

原创 Redis学习笔记(十二)--redis运维常用命令

redis运维常用的命令:下面几个命令的实例:1.time:显示服务器时间,时间戳(s)、微秒数2.观察当前数据库一共有多少个key3.bgrewriteaof重写,看下面的aof文件大小现在是103,我故意操作两次abc,执行重写命令:结果:现在变成了63,没有冗余。减小aof占据的内存。aof中只保存了最后一次set的value4.手动保存rdb----save这里要说一下在数据量大的时候bg...

2018-03-15 19:09:54 3006 2

原创 Redis学习笔记(十一)--主从复制

好,今天就让我们学习一下redis的主从配置,即redis的服务器集群,在一个大的网站中,redis如果做存储的话,不可能孤零零的只有redis来处理,这就需要搭建集群,那么集群有什么好处呢?1.主从备份,防止主机宕机。2.读写分离,分担master的任务。3.任务分离,如从服分别担任备份工作和计算工作等。那么怎么设置redis的服务器集群呢?它的操作比mysql简单多了。redis集群模型:再来...

2018-03-14 22:09:22 361 2

原创 Redis学习笔记(十)--aof日志持久化

aof原理:来看一看aof的配置:这是是否开启aof功能的开关这是aof工作的三种方式:#每一个命令都立即同步到aof,安全但是速度慢#折衷方案,每秒写一次#写入工作交给操作系统,有操作系统判断缓冲区大小统一写到aof,同步频率低,速度快。#正在导出rdb快照的过程中要不要停止同步aof#aof文件大小比起上次重写时的大小,增长率%100时重写。#aof文件,至少超过64m时重写。注意:在dump...

2018-03-14 20:56:10 2706 2

原创 Redis学习笔记(九)--rdb快照持久化

持久化方式:即把数据存储在断电后不会丢失的设备中,通常是硬盘。常见的持久化方式:主从:通过从服务器保存和持久化(主服务器往内存写,从服务器往硬盘写),如mongDB的replication sets设置。日志:操作生成相关日志,并通过日志来回复数据。couchDB对于数据内容,不修改,只追加(日志文件一体),则文件本身就是日志,不会丢失数据。下面看redis的持久化方式:1.rdb快照持久化每隔n...

2018-03-14 18:52:29 443 1

原创 Redis学习笔记(八)--频道发布和消息订阅

消息的订阅和发布可以比喻成广播台和收音机,形象地说就是王广播台里面发送消息,这些收音机关注或者说订阅了这个台,也可以比喻成微信,系统管理员和普通成员,系统管理员发送消息,普通成员都能接收到。看redis的指令:publish-------频道----->subscribe1.publis news 内容 --发布新闻内容2.subscribe news --订阅新闻频道适合做在线聊天,消息推...

2018-03-14 13:46:34 1057 1

原创 Redis学习笔记(七)--redis事务及锁应用

1.购票,追求写入速度,追求事务一致性安全性。redis相比mysql来说支持的事务相对简单。2.mysql和redis事务的对比mysql和redis事务对比 MysqlRedis开启start transactionmulti语句普通sql普通命令失败rollback回滚discard取消成功commit(提交)exec注意:rollback和discard的区别:如果成功执行了两条语句,第三...

2018-03-13 22:34:21 304 3

原创 Redis学习笔记(六)--hash结构及命令详解

hash结构在这就不做赘述了。-----hash命令:1.hset key field(叫field 其实是跟redis的key区分) value把key中filed的值设为value2.hmset key field1 value1 field2 value2...一下设置多个3.hget key filed获得key中filed对应的value4.hmget5.hgetall key 查看ke...

2018-03-13 20:34:37 291 1

原创 Redis学习笔记(五)--order set结构及命令详解

order set 有序集合因为原来是无需的,那么怎么变有序呢?我们就需要一个有序因子(例如:年龄,身高等)我们把这个因子叫score下面来看有序集合的命令,注意与set的区别:set------有序集合的增删差1.zadd key score1 value1 score2 value2     ...添加元素2.zrange key start stop [withscores] 把集合排序后返...

2018-03-13 20:05:01 932 2

原创 Redis学习笔记(四)--set结构及命令详解

set-集合特点:1.无序性2.唯一性:集合中的值是唯一不重复的3.确定性:这个集合的描述是确定的set 的命令:1.sadd key value 可以一次添加多个,但是不能添加相同的(唯一性)2.smembers key 查看key中的元素,查看的结果跟添加的顺序无关(无序性)3.srem key value 删除集合中的元素4.spop key 返回并删除集合中的一个随机元素(这个用于抽奖很合...

2018-03-13 17:12:44 276 1

原创 Redis学习笔记(三)--位图法统计活跃用户

首先来看一个真实案例:1.国外一个打的网站有1亿用户,用户有频繁登陆的,也有不经常登陆的2.如何来记录用户的登陆信息3.如何来查询活跃用户,比如一周内登陆三次?方案一:建用户表,uid:logtime登陆一次logtime+1,这里有个明显问题,如此大的客户量,每天一个用户的登陆次数不确定,不可能把如此巨大的信息量存入数据库(虽然可以解决),而且查询比较会很“累”。方案二:用redis做个link...

2018-03-12 23:58:20 2160

原创 Redis学习笔记(二)--list结构及命令详解

书接上文Redis学习笔记(一) 2-----------------list结构及命令详解1.lpush key value从左面往链表中添加 rpush key value 从右面添加2.lrange key start stop 返回链表中[start, stop]中的元素3.lpop  rpop弹出元素4.lrem key count value 比如 lrem key 3 b 从链表左开...

2018-03-12 21:39:04 432 2

原创 Redis学习笔记(一)--redis安装和字符串命令详解

1.Redis是什么?是一个高级的key-value存储系统,用来存储哈希结构,字符串,集合,有序集合,链表,因此通常用来提供数据结构服务。2.redis和memcached相比的特别之处:1.redis可以用来做存储(storge),而memcached用来做缓存(cache),这主要得益于redis的“持久化”功能;2.存储的数据有“结构”,memcached只能存储一种数据类型--“字符串”...

2018-03-12 20:31:03 391 1

原创 微信后台架构浅析--读写扩散技术

首先我写这篇博客所要探讨的问题是什么,自己查询资料得出的结论或者理解记录下来,产生了这篇博客问题背景:              我相信现在几乎我们每个人都在使用微信,那么你知道微信平台每天的信息量有多大吗?2017年微信官方在知名论坛上公布了其今年9月平均日登陆用户达9.02亿,同比增长17%。你在这9亿人里吗?每天有如此多的用户使用微信,你能想象到每天发送多少微信消息呢?380亿!是不是很吃惊...

2018-03-09 21:00:57 9238 3

转载 epoll原理详解(最清晰)

本文转载自:epoll讨论我只是把内容搬运过来做个记录,方便自己以后回头看。第一部分:select和epoll的任务 关键词:应用程序 文件句柄 用户态 内核态 监控者要比较epoll相比较select高效在什么地方,就需要比较二者做相同事情的方法。要完成对I/O流的复用需要完成如下几个事情:1.用户态怎么将文件句柄传递到内核态?2.内核态怎么判断I/O流可读可写?3.内核怎么通知监控者有I/O...

2018-03-08 23:01:09 1569 2

NAT类型检测+免费的STUN服务器.rar

P2P技术的NAT穿越方案,需要针对上述的4种NAT类型使用不同的方案,才有可能打洞(穿墙)成功,而最在要紧的是,我该怎么知道目前某台客户端所处的路由属于哪种NAT类型呢?

2020-04-23

汇编指令大全.pdf

博主吐血整理,强烈推荐,最全的汇编指令大全,包含了指令的解读和举例,非常实用的工具。相当于一个指令查询手册,帮助你最快了解指令的用法和指令的含义,更好的协助你编写代码。

2020-03-29

程序员面试智力、算法题汇总一pdf

程序员面试智力、算法题汇总一。很好的资源 我自己在用,对面试有很大帮助,涵盖了面试最常见的智力题,算法题,编程题还有大数据处理。

2018-07-25

Redis设计与实现[带书签]

近几年Redis以其高性能、高灵活性的优点,变得越来越流行。但很多人在使用Redis时,仅仅还是停留在比较表层的功能性认识,缺乏对内部机制原理的深入理解。本书是huangz同学长期对Redis源码的阅读心得结晶,书中对Redis的各个方面都进行了详细且深入的讲解,将复杂的原理用最简单的方式为大家解构和讲解,强烈推荐给每一位Redis的使用者阅读

2018-07-24

Linux内核设计的艺术pdf

特别好的书,图文结合,本书的最大特点是它的写作方式和内容组织方式,与同类书完全不同。它在深刻地分析了传统讲解方法的利弊之后,破旧立新,从认知学的角度开创了一种全新的方式。

2018-07-24

深入理解linux虚拟内存管理

这本书对linux的虚拟内存管理解释的很深,很好的东西,我自己看了觉得挺好的

2018-07-23

c#实现万年历加电子时钟带日程安排闹铃提醒功能 源码

c#实现的万年历加电子时钟+日程安排(到期闹铃提醒),下载代码以后只需修改数据库信息即可,在vs上完美运行

2018-07-06

200个c语言程序

c语言题目描述加代码,由简到难,涉及到数据结构算法等c语言程序开发的各方面问题和常见的编程题,对面试,笔试帮助很大,很好的资源

2018-07-03

深入理解mysql.pdf

深入理解mysql.pdf书不错,写的很详细,-------------------------------------------------------------------------------------------------------------

2018-07-03

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

TA关注的人

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