阿里云服务器ECS    
弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新 [咨询更多]
阿里云存储OSS
简单易用、多重冗余、数据备份高可靠、多层次安全防护安全性更强、低成本 [咨询更多]
阿里云数据库RDS
稳定可靠、可弹性伸缩、更拥有容灾、备份、恢复、监控、迁移等方面的全套解决方案 [咨询更多]
阿里云安全产品
DDoS高防IP、web应用防火墙、安骑士、sll证书、态势感知众多阿里云安全产品热销中 [咨询更多]
阿里云折扣优惠    
云服务器ECS、数据库、负载均衡等产品新购、续费、升级联系客服获取更多专属折扣 [咨询更多]
Redis安装与调试
2020-8-14    点击量:
  Redis安装与调试我们以Linux环境为例来进行安装。通过网址http://download.redis.io/releases/可以获得各个版本的Redis源码,本文以Redis 5.0为例,下载源码包并编译安装(源码包URL为http://download.redis.io/releases/re-dis-5.0.0.tar.gz)。
  
  $ wget http://download.redis.io/releases/redis-5.0.0.tar.gz
  
  $ tar -zxvf redis-5.0.0.tar.gz
  
  $ cd redis-5.0.0
  
  $ make
  
  $ cd src
  
  $make install

  
  到此,我们完成了Redis 5.0的编译安装,生成的可执行文件在/usr/local/bin目录中:
  
  redis-benchmark  redis-check-aof  redis-check-rdb  redis-cli
  
  redis-sentinel  redis-server

  
  其中redis-benchmark是官方自带的Redis性能测试工具;当AOF文件或者RDB文件出现语法错误时,可以使用redis-check-aof或者redis-check-rdb修复;redis-cli是客户端命令行工具,可以通过命令redis-cli-h{host}-p{port}连接到指定Redis服务器;redis-sentinel是Redis哨兵启动程序;redis-server是Redis服务端启动程序。
  
  例如,使用redis-server启动服务端程序(默认监听端口是6379):
  
  $ /usr/local/bin/redis-server
  
  使用redis-cli连接Redis服务器并添加键值对:
  
  $ redis-cli -h 127.0.0.1 -p 6379
  
  127.0.0.1:6379> set name zhangsanOK
  
  127.0.0.1:6379> get name
  
  "zhangsan"

  
  GDB是一个由GNU开源组织发布的、UNIX/Linux操作系统下的、基于命令行的、功能强大的程序调试工具。下面我们演示如何通过GDB来调试Redis。用GDB启动redis-server服务端程序:
  
  $ gdb
  
  /usr/local/bin/redis-server(gdb)
  

  使用b命令在main函数入口增加断点:
  
  (gdb) b main
  
  Breakpoint 1 at 0x427770: file server.c, line 4000.

  
  使用r命令运行:
  
  (gdb) r
  
  Starting program: /usr/local/bin/redis-server[Thread debugging using libthread_db enabled]Using host libthread_db library "/lib64/libthread_db.so.1".
  
  Breakpoint 1, main (argc=1, argv=0x7fffffffe528) at
  
  server.c:4000
  
  4000        int main(int argc, char **argv)

  
  从上面的输出中可以看到,代码执行到main函数停止。接下来,使用n命令执行下一步:
  
  (gdb) n
  
  4034            spt_init(argc, argv);

  
  使用p命令查看某个变量的信息:
  
  (gdb) p argc
  
  $1 = 1
  

  这里只是简要介绍使用GDB调试Redis程序的方法,更多GDB的使用技巧有待读者去研究。
  
  当然,还可使用很多方便的源码阅读工具阅读代码。例如,Windows环境下有一款功能强大的IDE(集成开发环境)——Source Insight,内置C++代码分析功能;同时能自动维护项目内的符号数据库,非常方便。另外,Mac平台下功能强大的IDE(集成开发环境)——Understand具备代码依赖、图形化等实用功能。Linux环境下可以使用Vim+Ctags来阅读代码,其中Ctags是Vim下阅读代码的一个辅助工具,可以生成函数、类、结构体、宏等语法结构的索引文件,使用方法也非常简单。
联系客服免费领取更多阿里云产品新购、续费升级折扣,叠加官网活动折上折更优惠