使用Redis配置分布式服务

随着我们越来越多地使用Redis以及其他服务,如何存储各项服务的配置信息将变成一个棘手的问题:对于一个Redis服务器、一个数据库服务器以及一个Web服务器来说,存储它们的配置信息并不困难;但如果我们使用了一个拥有好几个从服务器的Redis主服务器,或者为不同的应用程序设置了不同的Redis服务器,甚至为数据库也设置了主服务器和从服务器的话,那么存储这些服务器的配置信息将变成一件让人头疼的事情。

用于连接其他服务以及服务器的配置信息一般都是以配置文件的形式存储在硬盘里面,每当机器下线、网络连接......

2017 - 06 - 12

使用Redis查找IP所属城市

通过将统计数据和日志存储到Redis里面,我们可以收集访客在系统中的行为信息。但是直到目前为止,我们都忽略了访客行为中非常重要的一个部分,那就是——这些访客是从哪里来的?为了回答这个问题,在这一节中,我们将构建一系列用于分析和载入IP所属地数据库的函数,并编写一个可以根据访客的IP地址来查找访客所在城市、行政区(州)以及国家的函数。让我们先来看看下面这个例子。

随着Fake Game公司的游戏越来越受追捧,来自世界各地的玩家也越来越多。尽管像Google Analytics这样的工具可以让Fa......

2017 - 06 - 08

使用Redis实现计数器

知道我们的网站在最近5分钟内获得了10 000次点击,或者数据库在最近5秒内处理了200次写入和600次读取,是非常有用的。通过在一段时间内持续地记录这些信息,我们可以注意到流量的骤增或渐增情况,预测何时需要对服务器进行升级,从而防止系统因为负荷超载而下线。

这一节将分别介绍使用Redis来实现计数器的方法以及使用Redis来进行数据统计的方法,并在最后讨论如何简化示例中的数据统计操作。本节展示的例子都是由实际的用例和需求驱动的。首先,让我们来看看,如何使用Redis来实现时间序列计数器(ti......

2017 - 06 - 07

使用Redis记录日志

在构建应用程序和服务的过程中,对正在运行的系统的相关信息的挖掘能力将变得越来越重要:无论是通过挖掘信息来诊断系统问题,还是发现系统中潜在的问题,甚至是挖掘与用户有关的信息——这些都需要用到日志。

在Linux和Unix的世界中,有两种常见的记录日志的方法。第一种是将日志记录到文件里面,然后随着时间流逝不断地将一个又一个日志行添加到文件里面,并在一段时间之后创建新的日志文件。包括Redis在内的很多软件都使用这种方法来记录日志。但这种记录日志的方式有时候可能会遇上麻烦:因为每个不同的服务都会创建......

2017 - 06 - 07

Redis性能优化方案

非事务型流水线

被MULTI和EXEC包裹的命令在执行时不会被其他客户端打扰。而使用事务的其中一个好处就是底层的客户端会通过使用流水线来提高事务执行时的性能。本节将介绍如何在不使用事务的情况下,通过使用流水线来进一步提升命令的执行性能。

MGET、MSET、HMGET、 HMSET、RPUSH和LPUSH、SADD、ZADD等。这些命令简化了那些需要重复执行相同命令的操作,并且极大地提升了性能。尽管效果可能没有以上提到的命令那么显著,但使用非事务型流水线(non-transactional ......

2017 - 06 - 05
Pre Page