聚合国内IT技术精华文章,分享IT技术精华,帮助IT从业人士成长

  • 1584822 views阅读

    也谈谈 Redis 和 Memcached 的区别

    说到redis就会联想到memcached,反之亦然。了解过两者的同学有那么个大致的印象: redis与memcached相比,比仅支持简单的key-value数据类型,同时还提供list,set,zset,hash等数据结构的存储; redis支持数据的备份,即master-slave模式的数据备份; redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进...

    分类:技术文章 时间:2016-07-21 00:20 我要评论(0个)

  • 1376021 views阅读

    Redis Cluster分区实现原理

    摘要 Redis Cluster本身提供了自动将数据分散到Redis Cluster不同节点的能力,分区实现的关键点问题包括:如何将数据自动地打散到不同的节点,使得不同节点的存储数据相对均匀;如何保证客户端能够访问到正确的节点和数据;如何保证重新分片的过程中不影响正常服务。这篇文章通过了解这些问题来认识Redis Cluster分区实现原理。 认识Redis Cluster Redis ...

    分类:技术文章 时间:2016-07-06 01:05 我要评论(0个)

  • 1461631 views阅读

    Redis 和 Memcached 的区别

    Redis 的作者 Salvatore Sanfilippo 曾经对这两种基于内存的数据存储系统进行过比较: Redis支持服务器端的数据操作:Redis相比Memcached来说,拥有更多的数据结构和并支持更丰富的数据操作,通常在Memcached里,你需要将数据拿到客户端来进行类似的修改再set回去。这大大增加了网络IO的次数和数据体积。在Redis中,这些复杂的操作通常和一般的GE...

    分类:技术文章 时间:2016-07-01 08:35 我要评论(0个)

  • 701417 views阅读

    Redis 异步化组件模型

    Redis 线程体系 Redis可以说是基于单线程模型的,因为对于客户端的所有读写请求的处理,都由一个主线程串行地处理,因此多个客户端同时对一个键进行写操作不会有并发问题,但是除了客户端读写请求之外还有一些比较耗时的操作,如持久化RDB文件,持久化AOF文件等等,这些操作不能放在主线程里面处理,因此Redis会在适当的时候fork子进程来异步的处理这种任务。除了这些,Redis还有一组异...

    分类:技术文章 时间:2016-06-29 11:45 我要评论(0个)

  • 810940 views阅读

    Redis 分区实现原理

    摘要 Redis Partitioning即Redis分区,简单的说就是将数据分布到不同的redis实例中,因此对于每个redis实例所存储的内容仅仅是所有内容的一个子集。分区(Partitioning)不仅仅是Redis中的概念,几乎是所有数据存储系统都会涉及到的概念,这篇文章将会在理解分区基本概念的基础之上进一步了解Redis对分区的支持。 我们为什么要分区 我们为什么要分区?分区的动...

    分类:技术文章 时间:2016-06-11 17:45 我要评论(0个)

  • 1235794 views阅读

    Redis 字符串类型实现内幕

    摘要 Redis不仅仅是一个key-value存储,它更是一个数据结构服务,支持不同类型的值。这意味着在传统的key-value存储中,我们用string的key关联string的value。而在Redis中,我们可以存储的值不受限于string,我们还可以存储复杂的数据结构。string是我们在使用Redis过程中能接触到的最简单的数据类型,也是Memcached中仅有的类型,因此对于R...

    分类:技术文章 时间:2016-06-10 19:20 我要评论(0个)

  • 1145927 views阅读

    Redis 缓存失效机制

    Redis缓存失效的故事要从EXPIRE这个命令说起,EXPIRE允许用户为某个key指定超时时间,当超过这个时间之后key对应的值会被清除,这篇文章主要在分析Redis源码的基础上站在Redis设计者的角度去思考Redis缓存失效的相关问题。 Redis缓存失效机制 Redis缓存失效机制是为应对缓存应用的一种很常见的场景而设计的,讲个场景: 我们为了减轻后端数据库的压力,很开心的借助...

    分类:技术文章 时间:2016-06-09 20:55 我要评论(0个)

  • 685185 views阅读

    Redis 网络架构及单线程模型

    最近略有闲暇时间,于是对Redis进行了一些学习,学习途径除了官方文档还有Redis源代码,我看的版本是2.8.13,Redis源码总行数不到5W行,不同组件拆分非常细致,阅读起来也很清晰。这篇博客主要介绍我对Redis网络层架构以及线程模型的一些了解,希望能对大家有所帮助。 Redis网络基础架构 网络编程离不开Socket,网络I/O模型最常用的无非是同步阻塞、同步非阻塞、异步阻塞、异...

    分类:技术文章 时间:2016-06-08 22:30 我要评论(0个)

  • 1968562 views阅读

    Redis复制实现原理

    摘要 我的前一篇文章《浅析Redis复制》已经介绍了Redis复制相关特性,这篇文章主要在理解Redis复制相关源码的基础之上介绍Redis复制的实现原理。 Redis复制实现原理 应用场景化 为了更好地表达与理解,我们先举个实际应用场景例子来看看Redis复制是怎么工作的,我们先启动一台master:$ ./redis-server --port 8000然后启动一个redis客户端和上...

    分类:技术文章 时间:2016-06-08 22:30 我要评论(0个)

  • 1118180 views阅读

    分布式锁(1):Java 常用技术方案

    前言: 由于在平时的工作中,线上服务器是分布式多台部署的,经常会面临解决分布式场景下数据一致性的问题,那么就要利用分布式锁来解决这些问题。所以自己结合实际工作中的一些经验和网上看到的一些资料,做一个讲解和总结。希望这篇文章可以方便自己以后查阅,同时要是能帮助到他人那也是很好的。 正文: 第一步,自身的业务场景: 在我日常做的项目中,目前涉及了以下这些业务场景: 场景一: 比如分配任务场景...

    分类:技术文章 时间:2016-06-07 01:40 我要评论(0个)

  • 1213421 views阅读

    浅析 Redis 复制

    摘要 早期的 RDBMS 被设计为运行在单个CPU之上,读写操作都由经单个数据库实例完成,复制技术使得数据库的读写操作可以分散在运行于不同CPU之上的独立服务器上.Redis作为一个开源的、优秀的key-value缓存及持久化存储解决方案,也提供了复制功能,本文主要介绍Redis的复制原理及特性。 Redis复制概论 数据库复制指的是发生在不同数据库实例之间,单向的信息传播的行为,通常由被...

    分类:技术文章 时间:2016-05-30 14:05 我要评论(0个)

  • 868059 views阅读

    基于 Redis 实现简单的分布式锁

    摘要 分布式锁在很多应用场景下是非常有效的手段,比如当运行在多个机器上的不同进程需要访问同一个竞争资源的时候,那么就会涉及到进程对资源的加锁和释放,这样才能保证数据的安全访问。分布式锁实现的方案有很多,比如基于ZooKeeper实现、或者基于Mysql实现等等,今天我们来一起看看如何基于Redis实现分布式锁服务。 分布式锁要点 对于分布式锁的目标,我们必须首先明确三点: 任何一个时间...

    分类:技术文章 时间:2016-05-22 05:05 我要评论(0个)