我们为什么要用Redis
最近阅读了《 Redis 开发与运维》,非常不错。这里对书中的知识整理一下,方便自己回顾 Redis 的整个体系,来对相关知识点查漏补缺。
阅读全文原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 我们为什么要用Redis
最近阅读了《 Redis 开发与运维》,非常不错。这里对书中的知识整理一下,方便自己回顾 Redis 的整个体系,来对相关知识点查漏补缺。
阅读全文原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 我们为什么要用Redis
Google 出的 Guava 是 Java 核心增强的库,应用非常广泛。
我平时用的也挺频繁,这次就借助日常使用的 Cache 组件来看看 Google 大牛们是如何设计的。
本次主要讨论缓存。缓存在日常开发中举足轻重,如果你的应用对某类数据有着较高的读取频次,并且改动较小时那就非常适合利用缓存来提高性能。
缓存之所以可以提高性能是因为它的读取效率很高,就像是 CPU 的 L1、L2、L3
缓存一样,级别越高相应的读取速度也会越快。
但也不是什么好处都占,读取速度快了但是它的内存更小资源更宝贵,所以我们应当缓存真正需要的数据。其实也就是典型的空间换时间。下面谈谈 Java 中所用到的缓存。
原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: Guava 源码分析之Cache的实现原理
之前在 Java-Interview 中提到过秒杀架构的设计,这次基于其中的理论简单实现了一下。
本次采用循序渐进的方式逐步提高性能达到并发秒杀的效果,文章较长请准备好瓜子板凳(liushuizhang?)。
本文所有涉及的代码:
原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 秒杀架构实践
原文链接 译者:Emalia
Rdis设计方案是在新功能实际实施之前让社区了解新功能设计的一种方法。这样做是希望从用户基础获得良好的反馈,如果发现缺陷或者可能的改进,可能会导致设计的改变。
阅读全文
原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 《Redis官方文档》Redis设计方案
MULTI
、 EXEC
、 DISCARD
和 WATCH
是 Redis 事务的基础。事务允许一次独立的执行一组命令,并且拥有两个重要的保证。
MULTI
命令却断开了redis事务中的连接,那么这个事务的将不会被执行。append-only-file
)时,Redis会确保去使用单独的同步Write(2)
写入磁盘中。然而如果Redis服务阻塞或者被系统管理员杀死,那么将可能导致只有部分的操作被执行。Redis在重启的时候将会检测当前状态,并退出这个错误。它可以使用Redis-Check-AOF
工具移除部分的事务,去修复这个AOF文件,所以Redis可以再次启动。原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 《Redis官方文档》事务
原文链接:
SUBSCRIBE、UNSUBSCRIBE 和 PUBLISH 这三个命令实现了发布/订阅消息模式(引用自维基百科),发送者(发布者)并不是直接发送它们的消息给指定的接收者(订阅者),而是将消息发布到特定的消息通道,并且不需要知道订阅者(如果有的话)的任何信息。订阅者可以订阅一个或多个感兴趣的消息通道,同时也只会收到他们感兴趣通道的信息,而不用去关心是谁发布的。这种发布者与订阅者的解耦,使其具备更强的扩展性并得到一个更加动态的网络拓扑。
原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 《Redis官方文档》发布和订阅
原文链接 译者:humyna
本节提供了Redis安全主题概述,包括控制访问、代码安全以及诸于恶意注入攻击拦截等。
对于安全相关的交流可以在github上建一个issue;如果担心沟通的安全,可以使用文末的GPG密钥。
阅读全文
原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 《Redis官方教程》-Redis安全
Redis实现了自己的事件库,代码在ae.c
中。想要理解Redis事件库的工作原理,最好的方法就是去理解Redis如何使用它。
阅读全文
原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 《Redis官方文档》Redis事件库
让我们通过一系列Q&A来弄明白。
阅读全文
原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 《Redis官方教程》- 事件库
原文链接
Redis的源代码并不大(2.2版只有2万行),我们努力让代码简单易懂,但还是需要一些文档来解释Redis中某些部分的内部实现机制。
原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: Redis内部实现文档
作者:carlosfu
一、背景
1. 什么是缓存无底洞问题:
原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 缓存系列文章–无底洞问题
Redis Sentinel为Redis提供了高可用解决方案。实际上这意味着使用Sentinel可以部署一套Redis,在没有人为干预的情况下去应付各种各样的失败事件。
Redis Sentinel同时提供了一些其他的功能,例如:监控、通知、并为client提供配置。
原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 《Redis官方文档》sentinel
原文链接 译者:Alexandar Mahone
这篇文章从技术层面描述了Redis持久化,建议所有读者阅读。如果希望更多了解Redis持久化和持久性保障,建议阅读Redis持久化揭秘。
Redis 持久化
提供了多种不同级别的持久化方式:
了解 RDB 持久化和 AOF 持久化之间的异同是非常重要的, 以下几个小节将详细地介绍这这两种持久化功能, 并对它们的相同和不同之处进行说明。
原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 《Redis官方文档》持久化
原文链接 译者:boyhou (WeChat:HouYongBo923)
如果你使用redis作为缓存,当添加新数据时,若有内存大小等限制,系统默认会根据一定的规则自动清理旧数据。这种处理方式在开发社区中众所周知,因为它也是非常流行的缓存系统 memcached 的默认处理方式。
LRU(LRU全称是Least Recently Used,即最近最久未使用)实际上只是Redis支持的内存回收策略中的一种。这篇文章将要讲述Redis的 maxmemory 配置选项,该配置选项用来限制 Redis 的内存使用大小,同时深入研究 LRU(确切的说是近似LRU算法) 算法在 Redis 中的应用。
原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 《Redis官方文档》使用Redis作为LRU缓存
原文链接 译者:carvin
Redis 不是一个 简单的 key-value 存储,实际上它是一个数据结构服务器,它支持不同类型的值。也就是说,在传统的key-value存储中,你将一个字符串的key关联到一个字符串的值上;而在Redis中,值不仅仅局限于简单的字符串,还同时支持其他复杂的数据结构。以下的列表是所有Redis支持的数据结构,在这篇指南中将一一介绍:
原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: Redis的数据类型和抽象概念介绍