-
Notifications
You must be signed in to change notification settings - Fork 0
/
redis_cli.brief
40 lines (33 loc) · 1.16 KB
/
redis_cli.brief
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
本文档简略摘录CLI的命令处理流程, 以期更深入了解redis协议的封装及
解析流程, 方便拓展!
主交互流程
----------
--main() src/redis-cli.c
--parseOptions()
--cliConnect()
--redisConnect()
--anetKeepAlive()
--cliAuth()
--redisCommand() deps/hiredis/hiredis.c
--cliSelect()
--noninteractive()
--issueCommand()
--issueCommandRepeat()
--cliSendCommand()
--redisAppendCommandArgv() deps/hiredis/hiredis.c
--cliReadReply()
--redisGetReply() deps/hiredis/hiredis.c
--cliFormatReplyRaw()
--fwrite()
--repl()
--issueCommandRepeat()
命令行交互优化
--------------
引入第三方开源实现, linenoise, 实现命令行补齐/命令行提示/命令行历史等功能
https://github.com/antirez/linenoise
CLI用户偏好
-----------
有两种方式设置CLI偏好,
1) 命令行, :command
2) 配置文件, ${HOME}/.redisclirc
目前仅支持 :set hints/nohints