分类目录归档:Redis

Redis

一致性 Hash 算法

一致性哈希算法在1997年由麻省理工学院提出的一种分布式哈希(DHT)实现算法,设计目标是为了解决因特网中的热点(Hot spot)问题,初衷和CARP十分类似。一致性哈希修正了CARP使用的简单哈希算法带来的问题,使得分布式哈希(DHT)可以在P2P环境中真正得到应用。

一致性hash算法提出了在动态变化的Cache环境中,判定哈希算法好坏的四个定义:

1、平衡性(Balance)

继续阅读一致性 Hash 算法

如何排查Redis的延迟问题

在你使用Redis的过程中,有时可能会遇到延迟的问题,本文将会详述导致延迟的各项原因。

在本文中,延迟就是客户端请求执行一个命令和客户端收到命令执行结果之间的最大时延。通常,Redis的处理时间几乎可以忽略不计,基本在亚微秒的范围之内。但是,某些情况可能会导致较高的延迟时间。

1. 问题检查清单

继续阅读如何排查Redis的延迟问题

memtier_benchmark:一种用于Redis和Memcached的高吞吐量基准测试工具

memtier_benchmark是Redis Labs推出的一款命令行工具,它能够产生各种各样的流量模式,可以对Memcached和Redis实例进行基准测试。这个工具提供了丰富的自定义选项和报表功能,通过命令行界面就能够轻松地使用。这个工具的一些优点如下所述:

Redis延迟监控框架详解

Redis经常在一些要求非常苛刻的情况中使用,它的每个实例每秒钟都会处理大量的查询请求。与此同时,平均响应时间和最坏情况延时对于延迟时间的要求非常严格。

虽然Redis是一种内存系统,但是它会以不同的方式处理操作系统,例如,在将数据持久化至磁盘中时。除此之外,Redis还实现了一组丰富的命令。某些命令运行速度很快,时间复杂度为O(1)或O(logN);其他命令运行速度较慢,时间复杂度为O(N),它们可能会导致延迟飙升。

继续阅读Redis延迟监控框架详解

Redis性能测试工具redis-benchmark使用详解

Redis包含一个名为redis-benchmark的性能测试工具,它可以模拟N个客户端同时向Redis发送M条查询命令的应用场景(这个工具类似于Apache的ab工具)。在下文中,我们会在Linux主机中运行一次基准测试,然后你可以查看完整的测试输出结果。

redis-benchmark工具的使用方法如下所示:

  1. redis-benchmark [-h <host>] [-p <port>] [-c <clients>] [-n <requests]> [-k <boolean>]

继续阅读Redis性能测试工具redis-benchmark使用详解

Redis的数据持久化功能详解(3)—— AOF持久化实践

AOF持久化会记录Redis服务器收到的每个写入操作,当Redis服务器重新启动时,这些写入操作就会被重新执行,这样便能重新建立原先的数据集。默认存储在Redis安装目录的data子目录中的appendonly.aof文件中。

一、环境描述

  1. 主机配置
    CPU:单核 继续阅读Redis的数据持久化功能详解(3)—— AOF持久化实践

如何使Redis能够在运行时获取和修改AOF文件名

最近通过编译源码的方式安装Redis服务器(版本:redis-3.2.1.tar.gz),我发现Redis客户端的config getconfig set命令并没有为appendfilename配置项提供支持,也就无法在Redis运行时获取和设置AOF文件的名称。

本文将会描述如何修改config.c源文件,添加相应的支持代码,使上述两个命令支持appendfilename配置项。

Step-1 打开config.c源文件

继续阅读如何使Redis能够在运行时获取和修改AOF文件名

Redis的数据持久化功能详解(2)—— RDB持久化实践

RDB持久化是通过快照完成的,当符合一定条件时Redis会自动将内存中的所有数据进行快照并存储到磁盘上。默认存储在Redis安装目录的data子目录的dump.rdb文件中。

一、环境描述

  1. 主机配置
    CPU:单核
    内存:2 GB
    IP:10.24.16.87

  2. 继续阅读Redis的数据持久化功能详解(2)—— RDB持久化实践

Redis的数据持久化功能详解(1)—— 两种持久化方式

Redis提供了几种数据持久化选项:

  • 根据指定的时间间隔,RDB(Redis DataBase,Redis数据库)持久化会为你的数据集创建时间点快照。

  • AOF(Append-Only File,只增文件)持久化会记录Redis服务器收到的每个写入操作,当Redis服务器重新启动时,这些写入操作就会被重新执行,这样便能重新建立原始数据集。Redis会以一种只增的方式,将收到的写入命令记录在AOF文件之中,存储的数据格式和Redis协议自身的格式相同。当AOF文件变得太大时,Redis会在后台重写日志文件。

  • 继续阅读Redis的数据持久化功能详解(1)—— 两种持久化方式