随笔分类 - Redis
摘要:1、string 可以是字符串,整数或者浮点数: 对整个字符串或者字符串中的一部分执行操作 对整个整数或者浮点执行自增(increment)或者自减(decrement)操作 字符串命令: ①get、获取存储在指定键中的值 ②set、设置存储在指定键中的值 ③del、删除存储在指定键中的值(这个命令
阅读全文
摘要:深入学习 Redis(1):Redis 内存模型 深入学习 Redis(2):持久化 深入学习 Redis(3):主从复制 深入学习 Redis(4):哨兵 深入学习 Redis(1):Redis 内存模型 深入学习 Redis(2):持久化 深入学习 Redis(3):主从复制 深入学习 Redi
阅读全文
摘要:背景 知乎作为知名中文知识内容平台,每日处理的访问量巨大 ,如何更好的承载这样巨大的访问量,同时提供稳定低时延的服务保证,是知乎技术平台同学需要面对的一大挑战。 知乎存储平台团队基于开源 Redis 组件打造的 Redis 平台管理系统,经过不断的研发迭代,目前已经形成了一整套完整自动化运维服务体系
阅读全文
摘要:使用Redis的 SETNX 命令可以实现分布式锁,下文介绍其实现方法。 SETNX命令简介 命令格式 将 key 的值设为 value,当且仅当 key 不存在。 若给定的 key 已经存在,则 SETNX 不做任何动作。 SETNX 是SET if Not eXists的简写。 返回值 返回整数
阅读全文
摘要:1.Counting(计数) 很多情况大家都会设想纯使用内存的方案会很有很高成本,但实际情况往往会有一些不一样: COST,对于有一定吞吐需求的应用来说,肯定会单独申请DB、Cache资源,很多担心DB写入性能的同学还会主动将DB更新记入异步队列,而这三块的资源的利用率一般都不会太高。资源算下来,你
阅读全文
摘要:1 哨兵的作用 哨兵是redis集群架构中非常重要的一个组件,主要功能如下: 2 哨兵的核心知识 3 sdown和odown 4 quorum和majority 5 为什么哨兵至少3个节点 哨兵集群必须部署2个以上节点。如果哨兵集群仅仅部署了个2个哨兵实例,那么它的majority就是2(2的maj
阅读全文
摘要:导言 redis-cluster是近年来redis架构不断改进中的相对较好的redis高可用方案。本文涉及到近年来redis多实例架构的演变过程,包括普通主从架构(Master、slave可进行写读分离)、哨兵模式下的主从架构、redis-cluster高可用架构(redis官方默认cluster下
阅读全文
摘要:尽管我们已经知道了主从复制能尽可能的确保数据不会因master node的节点挂掉而丢失,然而现实生活中,我们总不可能一直在看着master node的状态,在一旁等着它挂掉然后把它“提起来”。这时候,需要有个东西来替我们监督并且随时调整redis集群状况,这个东西就叫做哨兵(sential)。 哨
阅读全文
摘要:一、Redis Cluster主要特性和设计 集群目标 1)高性能和线性扩展,最大可以支撑到1000个节点;Cluster架构中无Proxy层,Master与slave之间使用异步replication,且不存在操作的merge。(即操作不能跨多个nodes,不存在merge层) 2)一定程度上保证
阅读全文
摘要:Redis回顾 Redis支持的数据结构 字符串(String) 哈希(Hash) 列表(List) 集合(Set) 有序集合(Sorted Set)位数组 支持针对score作范围查询 HyperLogLog 做基数统计的算法 Redis支持的操作 基本操作发布/订阅 Set get add pu
阅读全文
摘要:为什么集群? 通常,为了提高网站响应速度,总是把热点数据保存在内存中而不是直接从后端数据库中读取。Redis是一个很好的Cache工具。大型网站应用,热点数据量往往巨大,几十G上百G是很正常的事儿,在这种情况下,如何正确架构Redis呢? 首先,无论我们是使用自己的物理主机,还是使用云服务主机,内存
阅读全文
摘要:Redis源码剖析和注释(一) 链表结构 Redis源码剖析和注释(二) 简单动态字符串 Redis源码剖析和注释(三) Redis 字典结构 Redis源码剖析和注释(四) 跳跃表(skiplist) Redis源码剖析和注释(五) 整数集合(intset) Redis源码剖析和注释(六) 压缩列
阅读全文
摘要:最大感受,无论从设计还是源码,Redis都尽量做到简单,其中运用到的原理也通俗易懂。特别是源码,简洁易读,真正做到clean and clear, 这篇文章以unstable分支的源码为基准,先从大体上整理Redis的对象类型以及底层编码。 当我们在本文中提到Redis的“数据结构”,可能是在两个不
阅读全文