Redis 已经能跑起来了:服务以 /etc/redis/redis.conf 指定的配置启动,数据写到 /var/lib/redis 下的 dump.rdb,日志进了
/var/log/redis/redis-server.log,默认有 16 个逻辑库,可以用 redis-cli 测试 ping,关闭用 redis-cli shutdown 或者直接杀进程。主从复制可以通过 slaveof 配置实现。安装的可执行文件放在 /usr/local/bin,源代码解压到了 /usr/local/redis,常用的查看和管理命令都能用了。

把结果说清楚后,倒回去看整个过程。先看怎么确认和控制进程。用 ps aux | grep redis 能看到 redis-server 在跑的进程号。要停它可以用 redis-cli shutdown,命令会优雅停止;如果不行,直接 sudo kill -9 pid 或者 pkill redis-server 强制终止。平时启动服务我习惯用 sudo redis-server /etc/redis/redis.conf,这样明确指定配置文件,避免用错默认路径。要验证客户端连通性,进到 redis-cli,敲一个 ping,应该答 pong。切换逻辑库可以用 SELECT n 的方式,或者直接用库索引命令操作数据。
再往前是安装之后的配置和文件布局。安装后把 redis 的命令放在 /usr/local/bin,方便系统全局调用。配置文件放到 /etc/redis 目录下,这样管理起来清晰:sudo mkdir /etc/redis,然后把 /usr/local/redis 下的 redis.conf 搬过去。redis.conf 里有一些关键项要留意:dbfilename 指定了数据文件名,默认是 dump.rdb;dir 指定了数据文件的存放目录,一般设为 /var/lib/redis;logfile 指向
/var/log/redis/redis-server.log;database 的数量默认是 16,能满足绝大多数小型部署。主从复制相关的配置可以通过 slaveof 设置主节点 IP 和端口,做到类似双机备份的效果。配置完,reload profile 后可以直接用 redis-server 加配置文件来启动。

安装时常见的一些步骤和坑在前期就能遇到。把编译好的程序装到系统路径那一步,用了 export DESTDIR=/usr/local/bin/ 然后 sudo make install,这样把可执行文件放到指定目录。为了让系统识别新路径,需要把 /usr/local/redis/bin 加到 PATH:编辑 /etc/profile,在 PATH 的位置加入 /usr/local/redis/bin:$PATH,保存后 source /etc/profile 立刻生效。注意权限问题,许多命令都需要 sudo。
在编译和测试阶段,要做的事比较琐碎。源码包是 redis-4.0.9.tar.gz,先用 wget
http://download.redis.io/releases/redis-4.0.9.tar.gz 下载,然后 tar xzf redis-4.0.9.tar.gz 解压。为便于管理,把解压后的目录移动到 /usr/local/redis:sudo mv ./redis-4.0.9 /usr/local/redis/。进入目录后运行 sudo make 开始编译。编译完成后,进入 src 目录执行 sudo make test,会跑一大堆测试,这步比较耗时间。测试阶段常常会由于缺少 tcl 而报错,遇到就 sudo apt install tcl 来补。还有时 apt 会报锁文件问题,这种情况下把锁文件删了再试:sudo rm
/var/cache/apt/archives/lock 和 sudo rm /var/lib/dpkg/lock,然后继续安装就能通过。测试结束且一切正常后再走安装步骤,把命令装上系统路径。

源码解压、编译这些步骤看起来简单,实际会有各种小毛病。举个例子,我碰到过 make test 报错,提示缺 tcl,安装好再跑一次才通过;还有一次 apt 由于残留锁文件一直失败,删除锁后才顺利。遇到这些别慌,按错提示一步步修复就行。贴心提醒:make test 那一步会比较慢,机器性能欠佳的话要有耐心。
安装检查完毕后,常用文件和目录可以这样确认:在 /usr/local/bin 下能看到 redis-server、redis-cli 等可执行文件。配置文件在 /etc/redis 目录,运行日志在
/var/log/redis/redis-server.log,数据文件默认名是 dump.rdb,放在 /var/lib/redis。数据库数量默认是 16 核心库索引,业务上如果需要隔离可以基于这些逻辑库做简单划分。主从复制通过 slaveof 来配置,做容灾或读写分离时会用到。

说到 Redis 本身的位置和性质,先把大的背景说清。数据库分关系型(SQL)和非关系型(NoSQL),Redis 属于 NoSQL 中的键值型数据库,核心特点是内存存储、响应快、支持多种数据结构。常见的对比点有:关系型数据库适合复杂事务和强一致性,NoSQL 更侧重扩展性和性能。Redis 在实际场景里常被用作缓存、消息队列、计数器、会话存储等,读写都很快但内存受限,需要按业务特性来设计。
具体到数据结构,Redis 支持五大类常用类型:字符串(string)、列表(list)、集合(set)、有序集合(sorted set,也叫 zset)和哈希(hash)。每种类型对应一套操作,列如字符串常用 SET/GET;列表用 LPUSH、LPOP、LRANGE 来做队列或栈;集合用 SADD、SREM、SMEMBERS 等;有序集合带分数概念,用 ZADD、ZRANGE 等来做排行榜;哈希适合存储结构化对象,HSET、HGET 操作方便。数据操作层面上,基本就是增、删、改、查这些命令的组合,不同结构的命令不同但逻辑相通。
部署和管理方面还有一些个人习惯和小技巧可以分享。启动时指定配置文件比较可靠:sudo redis-server /etc/redis/redis.conf。平常查看进程用 ps aux | grep redis,出现问题先看日志
/var/log/redis/redis-server.log,再思考重启或查看配置。要把服务放在系统服务管理里,可以再写一个 systemd 的 unit 文件,但如果只是临时测试,直接用上面的命令就行。备份数据时关注 dump.rdb 的路径,备份这个文件或者开启 AOF 都是常见做法。需要扩展到多个节点时,先用 slaveof 做主从,再思考哨兵或集群模式。
安装过程中的每一步都能细化出操作提示和错误处理,像下载解压、编译、测试、安装、配置、启动、监控,每一步都可能有问题,但基本按顺序处理能走通。说到这儿,不吐槽一句感觉有点对不起自己:这些细节处理得好,后面运维轻松;处理不当,问题会在高峰期爆发。