@@ -11,12 +11,40 @@ A powerful, k9s-inspired Terminal User Interface (TUI) Redis/Valkey client built
11
11
12
12
## 🌟 Features
13
13
14
- - 🎯 Multi-View Navigation
15
- - 🔧 Advanced Key Management
16
- - 📊 Real-time Monitoring
17
- - 💻 Integrated CLI
18
- - ⚙️ Configuration Management
19
- - 🎨 User Experience
14
+ ### 🎯 Multi-View Navigation
15
+ - ** Keys View** : Advanced key browsing with filtering, type display, and TTL management
16
+ - ** Info View** : Comprehensive Redis server information and statistics
17
+ - ** Monitor View** : Real-time metrics with client connections, command statistics, slow queries, and cluster nodes
18
+ - ** CLI View** : Integrated Redis CLI with command history and scrollable output
19
+ - ** Config View** : Runtime configuration management
20
+ - ** Help View** : Interactive help and keyboard shortcuts
21
+
22
+ ### 🔧 Advanced Key Management
23
+ - Smart key filtering and searching
24
+ - Multiple data type support (String, Hash, List, Set, ZSet, etc.)
25
+ - Batch operations and key expiration management
26
+ - Memory usage and TTL information display
27
+
28
+ ### 📊 Real-time Monitoring
29
+ - ** Client Connections** : Active clients, total connections, rejected connections
30
+ - ** Memory Usage** : Used memory and RSS with human-readable formatting
31
+ - ** Command Statistics** : Total commands, operations per second, hit/miss rates
32
+ - ** Slow Query Log** : Monitor slow-running operations
33
+ - ** Cluster Nodes** : Detailed node information in table format for cluster setups
34
+
35
+ ### 💻 Integrated CLI
36
+ - Full Redis command support with syntax highlighting
37
+ - Command history with up/down arrow navigation
38
+ - Scrollable output with Page Up/Down support
39
+ - Tab to switch focus between input and output areas
40
+
41
+ ### ⚙️ Configuration Management
42
+ - ** TLS/SSL Support** : Secure connections with certificate authentication
43
+ - JSON-based configuration with environment variable support
44
+ - Runtime configuration updates
45
+ - Connection pooling and timeout management
46
+
47
+ ### 🎨 User Experience
20
48
21
49
## 🚀 Quick Start
22
50
@@ -107,25 +135,62 @@ Examples:
107
135
108
136
### Configuration
109
137
110
- Create ` ~/.redis-cli-dashboard/config.yaml ` :
111
-
112
- ``` yaml
113
- redis :
114
- host : " localhost"
115
- port : 6379
116
- password : " "
117
- db : 0
118
- timeout : 5000
119
- pool_size : 10
120
-
121
- ui :
122
- theme : " default"
123
- refresh_interval : 1000
124
- max_keys : 1000
125
- show_memory : true
126
- show_ttl : true
138
+ Create ` ~/.redis-cli-dashboard/config.json ` :
139
+
140
+ ``` json
141
+ {
142
+ "redis" : {
143
+ "host" : " localhost" ,
144
+ "port" : 6379 ,
145
+ "password" : " " ,
146
+ "db" : 0 ,
147
+ "timeout" : 5000 ,
148
+ "pool_size" : 10 ,
149
+ "tls" : {
150
+ "enabled" : false ,
151
+ "cert_file" : " " ,
152
+ "key_file" : " " ,
153
+ "ca_file" : " " ,
154
+ "insecure_skip_verify" : false
155
+ }
156
+ },
157
+ "ui" : {
158
+ "theme" : " default" ,
159
+ "refresh_interval" : 1000 ,
160
+ "max_keys" : 1000 ,
161
+ "show_memory" : true ,
162
+ "show_ttl" : true
163
+ }
164
+ }
127
165
```
128
166
167
+ ### TLS/SSL Configuration
168
+
169
+ For secure Redis connections, enable TLS in your configuration:
170
+
171
+ ``` json
172
+ {
173
+ "redis" : {
174
+ "host" : " secure-redis.example.com" ,
175
+ "port" : 6380 ,
176
+ "tls" : {
177
+ "enabled" : true ,
178
+ "cert_file" : " /path/to/client.crt" ,
179
+ "key_file" : " /path/to/client.key" ,
180
+ "ca_file" : " /path/to/ca.crt" ,
181
+ "insecure_skip_verify" : false
182
+ }
183
+ }
184
+ }
185
+ ```
186
+
187
+ ** TLS Options:**
188
+ - ` enabled ` : Enable/disable TLS connection
189
+ - ` cert_file ` : Path to client certificate file (optional)
190
+ - ` key_file ` : Path to client private key file (optional)
191
+ - ` ca_file ` : Path to CA certificate file (optional)
192
+ - ` insecure_skip_verify ` : Skip certificate verification (not recommended for production)
193
+
129
194
## 🎮 Navigation & Controls
130
195
131
196
### Global Navigation
@@ -148,26 +213,60 @@ ui:
148
213
| ` ↑/↓ ` | Navigate keys |
149
214
| ` Enter ` | View key details |
150
215
| ` / ` | Focus filter input |
151
- | `c` | Focus command input |
152
216
| ` r ` | Refresh key list |
153
217
| ` d ` | Delete selected key |
154
218
| ` e ` | Edit selected key |
155
219
| ` t ` | Set/modify TTL |
220
+ | ` Mouse Click ` | Select key (mouse interaction enabled) |
221
+
222
+ ** Filter Controls:**
223
+ - ` Ctrl+L ` - Clear filter input
224
+ - ` Ctrl+C ` - Clear filter and return to table
225
+ - ` ESC ` - Return to table without clearing filter
226
+ - ** Mouse clicks** work properly on filtered results to select keys
227
+ - ** Arrow key navigation** works correctly after filtering
156
228
157
229
### CLI View
158
230
| Key | Action |
159
231
| -----| --------|
160
232
| ` Enter ` | Execute command |
161
- | `↑/↓` | Navigate command history |
162
- | `Ctrl+L` | Clear screen |
163
- | `Tab` | Command completion (if available) |
233
+ | ` ↑/↓ ` | Navigate command history (when input focused) / Scroll output (when output focused) |
234
+ | ` Tab ` | Switch focus between input and output |
235
+ | ` Ctrl+L ` | Clear output screen |
236
+ | ` PgUp/PgDn ` | Scroll output by 10 lines (when output has focus) |
237
+ | ` Home/End ` | Jump to beginning/end of output (when output has focus) |
238
+ | ` Mouse Scroll ` | Scroll output with mouse wheel |
239
+
240
+ ** Focus Management:**
241
+ - ** Input field** is focused by default for command entry
242
+ - ** Arrow keys** navigate command history only when input is focused
243
+ - Press ` Tab ` to switch focus to output area for scrolling
244
+ - ** Arrow keys** scroll output line by line when output is focused
245
+ - ** Page Up/Down, Home/End** work for navigation when output is focused
246
+ - Mouse scrolling works in output area regardless of focus
164
247
165
248
### Monitor View
166
249
| Key | Action |
167
250
| -----| --------|
168
- | `s` | Start/stop monitoring |
251
+ | ` s ` | Start/stop real-time monitoring |
169
252
| ` c ` | Clear screen |
170
253
| ` r ` | Refresh metrics |
254
+ | ` ↑/↓ ` | Scroll through metrics (when monitoring stopped) |
255
+
256
+ ** Monitor Features:**
257
+ - Real-time client connection tracking
258
+ - Command statistics with hit/miss rates
259
+ - Slow query log monitoring
260
+ - Cluster nodes table with role and status
261
+ - Memory usage with human-readable formatting
262
+
263
+ ** Important Notes:**
264
+ - Number keys (1-6) work as navigation shortcuts only when not typing in input fields
265
+ - Filter inputs correctly handle numbers without triggering view switches
266
+ - CLI output scrolling works properly when output area has focus (use Tab to switch focus)
267
+ - Mouse interaction is enabled for key selection in Keys view, including filtered results
268
+ - Filter input can be cleared quickly with Ctrl+L or Ctrl+C shortcuts
269
+ - Arrow key navigation works correctly in filtered key lists
171
270
172
271
173
272
0 commit comments