0%

Redis服务器是一个事件驱动程序,其主要处理的事件主要可分为以下两类:

  • 文件事件(file event)

    Redis服务器通过套接字与客户端(或者其他Redis服务器)进行连接,而文件事件就是服务器对套接字操作的抽象。服务器与客户端(或者其他服务器)的通信会产生相应的文件事件,而服务器则通过监听并处理这些事件来完成一系列网络通信。

  • 时间事件(time event)

    Redis服务器中的一些操作(如,serverCron函数)需要在指定的时间点执行,而时间事件就是对这类定时操作的抽象。

阅读全文 »

我们知道Redis是一个内存数据库,它所有的数据库状态都存储在内存中,所以如果想要在服务器故障、重启之后数据还在,就需要一个将这些数据持久化的一个功能。

redis持久化原理

Redis提供了两种持久化的方式,

  • RDB 持久化方式

    将数据库中的键值对及状态保存在持久化文件中

  • AOF 持久化方式

    而AOF保存的是服务器所执行过的所有写命令

阅读全文 »

Redis这个key-value的存储系统,由于其高性能,支持主从复制和丰富的数据结构等特性,目前已经广泛应用于我们的各个场景之中。所以了解整理其相关的一些内容,用以加深我们对其的了解,方便之后更好的使用它实现我们的各种功能。

阅读全文 »

使用变量来对应用程序性能进行管理

变量是NGINX配置的一个重要且有时被忽视的方面。 Nginx 有大约150个变量可用,Nginx 变量可用来方便每个部分的配置。 在本博客中,我们讨论如何使用NGINX变量来进行 应用程序跟踪应用程序性能管理(APM) ,重点是发现应用程序中的性能瓶颈。 这篇文章适用于开源的 NGINX 软件和 NGINX Plus。 为了简洁,我们将参考NGINX Plus,除非两个产品之间有差异。

阅读全文 »

所谓的贪婪/懒惰匹配模式,就是指正则表达式在匹配字符串是的两种不同的匹配策略。
简单的说就是,贪婪匹配模式在正则匹配时会尽量匹配出尽可能多的字符;而懒惰匹配模式则相反,它会匹配尽可能少的字符。

举例来说,

我们要匹配以字符a开始,以b结束的字符串:假如我们要搜索的字符串是aabab,那么分别按照贪婪和懒惰两种模式来匹配,将会得到以下结果:

  • aabab(贪婪模式)

贪婪

  • aab(懒惰模式)(为什么不是ab?)

懒惰

阅读全文 »

这里的技术技巧最初是来自谷歌的“Testing on the Toilet” (TOTT)。这里是一个修订和扩增版本。

  • 脚本安全
  • 脚本函数
  • 变量注解
  • 用$()代替反单引号(`)
  • [[]](双层中括号)替代[]
  • 正则表达式/Globbing
  • 字符串操作
  • 避免使用临时文件
  • 内置变量
  • 调试
  • 什么时候不应该使用bash脚本
阅读全文 »

Linux 下使用 sudo 命令,可以让普通用户也能执行一些或者全部的 root 命令。本文就对我们常用到 sudo 操作情景进行简单分析,通过一些例子来了解 sudo 命令相关的技巧。

  • 情景一:用户无权限执行 root 命令

  • 情景二:vim 编辑后发现忘记使用 sudo

  • 情景三:执行 root 命令忘记加 sudo

  • 情景四:shell 内置命令如何使用 sudo

  • 情景五:sudo 操作记录日志

阅读全文 »