Skip to content

Commit d8be7b6

Browse files
committed
prefer WriteBulkString("..."u8) => WriteRaw(RESPu8)
1 parent e015faf commit d8be7b6

9 files changed

Lines changed: 73 additions & 73 deletions

src/StackExchange.Redis/Expiration.cs

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -252,19 +252,19 @@ internal void WriteTo(in MessageWriter writer)
252252
case ExpirationMode.Default or ExpirationMode.NotUsed:
253253
break;
254254
case ExpirationMode.KeepTtl:
255-
writer.WriteBulkString("KEEPTTL"u8);
255+
writer.WriteRaw("$7\r\nKEEPTTL\r\n"u8);
256256
break;
257257
case ExpirationMode.Persist:
258-
writer.WriteBulkString("PERSIST"u8);
258+
writer.WriteRaw("$7\r\nPERSIST\r\n"u8);
259259
break;
260260
default:
261-
writer.WriteBulkString(mode switch
261+
writer.WriteRaw(mode switch
262262
{
263-
ExpirationMode.RelativeSeconds => "EX"u8,
264-
ExpirationMode.RelativeMilliseconds => "PX"u8,
265-
ExpirationMode.AbsoluteSeconds => "EXAT"u8,
266-
ExpirationMode.AbsoluteMilliseconds => "PXAT"u8,
267-
_ => default,
263+
ExpirationMode.RelativeSeconds => "$2\r\nEX\r\n"u8,
264+
ExpirationMode.RelativeMilliseconds => "$2\r\nPX\r\n"u8,
265+
ExpirationMode.AbsoluteSeconds => "$4\r\nEXAT\r\n"u8,
266+
ExpirationMode.AbsoluteMilliseconds => "$4\r\nPXAT\r\n"u8,
267+
_ => "$0\r\n\r\n"u8,
268268
});
269269
writer.WriteBulkString(Value);
270270
break;

src/StackExchange.Redis/HotKeys.StartMessage.cs

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -23,36 +23,36 @@ [SAMPLE ratio]
2323
[SLOTS count slot…]
2424
*/
2525
writer.WriteHeader(Command, ArgCount);
26-
writer.WriteBulkString("START"u8);
27-
writer.WriteBulkString("METRICS"u8);
26+
writer.WriteRaw("$5\r\nSTART\r\n"u8);
27+
writer.WriteRaw("$7\r\nMETRICS\r\n"u8);
2828
var metricCount = 0;
2929
if ((metrics & HotKeysMetrics.Cpu) != 0) metricCount++;
3030
if ((metrics & HotKeysMetrics.Network) != 0) metricCount++;
3131
writer.WriteBulkString(metricCount);
32-
if ((metrics & HotKeysMetrics.Cpu) != 0) writer.WriteBulkString("CPU"u8);
33-
if ((metrics & HotKeysMetrics.Network) != 0) writer.WriteBulkString("NET"u8);
32+
if ((metrics & HotKeysMetrics.Cpu) != 0) writer.WriteRaw("$3\r\nCPU\r\n"u8);
33+
if ((metrics & HotKeysMetrics.Network) != 0) writer.WriteRaw("$3\r\nNET\r\n"u8);
3434

3535
if (count != 0)
3636
{
37-
writer.WriteBulkString("COUNT"u8);
37+
writer.WriteRaw("$5\r\nCOUNT\r\n"u8);
3838
writer.WriteBulkString(count);
3939
}
4040

4141
if (duration != TimeSpan.Zero)
4242
{
43-
writer.WriteBulkString("DURATION"u8);
43+
writer.WriteRaw("$8\r\nDURATION\r\n"u8);
4444
writer.WriteBulkString(Math.Ceiling(duration.TotalSeconds));
4545
}
4646

4747
if (sampleRatio != 1)
4848
{
49-
writer.WriteBulkString("SAMPLE"u8);
49+
writer.WriteRaw("$6\r\nSAMPLE\r\n"u8);
5050
writer.WriteBulkString(sampleRatio);
5151
}
5252

5353
if (slots is { Length: > 0 })
5454
{
55-
writer.WriteBulkString("SLOTS"u8);
55+
writer.WriteRaw("$5\r\nSLOTS\r\n"u8);
5656
writer.WriteBulkString(slots.Length);
5757
foreach (var slot in slots)
5858
{

src/StackExchange.Redis/Message.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -968,13 +968,13 @@ protected override void WriteImpl(in MessageWriter writer)
968968
writer.WriteBulkString(_protocolVersion);
969969
if (!string.IsNullOrWhiteSpace(_password))
970970
{
971-
writer.WriteBulkString("AUTH"u8);
971+
writer.WriteRaw("$4\r\nAUTH\r\n"u8);
972972
writer.WriteBulkString(string.IsNullOrWhiteSpace(_username) ? RedisLiterals.@default : _username);
973973
writer.WriteBulkString(_password);
974974
}
975975
if (!string.IsNullOrWhiteSpace(_clientName))
976976
{
977-
writer.WriteBulkString("SETNAME"u8);
977+
writer.WriteRaw("$7\r\nSETNAME\r\n"u8);
978978
writer.WriteBulkString(_clientName);
979979
}
980980
}
@@ -1858,10 +1858,10 @@ protected override void WriteImpl(in MessageWriter writer)
18581858
switch (when)
18591859
{
18601860
case When.Exists:
1861-
writer.WriteBulkString("XX"u8);
1861+
writer.WriteRaw("$2\r\nXX\r\n"u8);
18621862
break;
18631863
case When.NotExists:
1864-
writer.WriteBulkString("NX"u8);
1864+
writer.WriteRaw("$2\r\nNX\r\n"u8);
18651865
break;
18661866
}
18671867
}

src/StackExchange.Redis/RedisDatabase.cs

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1333,8 +1333,8 @@ protected override void WriteImpl(in MessageWriter writer)
13331333
writer.Write(Key);
13341334
writer.WriteBulkString(toDatabase);
13351335
writer.WriteBulkString(timeoutMilliseconds);
1336-
if (isCopy) writer.WriteBulkString("COPY"u8);
1337-
if (isReplace) writer.WriteBulkString("REPLACE"u8);
1336+
if (isCopy) writer.WriteRaw("$4\r\nCOPY\r\n"u8);
1337+
if (isReplace) writer.WriteRaw("$7\r\nREPLACE\r\n"u8);
13381338
}
13391339

13401340
public override int ArgCount
@@ -4270,28 +4270,28 @@ public override int GetHashSlot(ServerSelectionStrategy serverSelectionStrategy)
42704270
protected override void WriteImpl(in MessageWriter writer)
42714271
{
42724272
writer.WriteHeader(Command, argCount);
4273-
writer.WriteBulkString("GROUP"u8);
4273+
writer.WriteRaw("$5\r\nGROUP\r\n"u8);
42744274
writer.WriteBulkString(groupName);
42754275
writer.WriteBulkString(consumerName);
42764276

42774277
if (countPerStream.HasValue)
42784278
{
4279-
writer.WriteBulkString("COUNT"u8);
4279+
writer.WriteRaw("$5\r\nCOUNT\r\n"u8);
42804280
writer.WriteBulkString(countPerStream.Value);
42814281
}
42824282

42834283
if (noAck)
42844284
{
4285-
writer.WriteBulkString("NOACK"u8);
4285+
writer.WriteRaw("$5\r\nNOACK\r\n"u8);
42864286
}
42874287

42884288
if (claimMinIdleTime.HasValue)
42894289
{
4290-
writer.WriteBulkString("CLAIM"u8);
4290+
writer.WriteRaw("$5\r\nCLAIM\r\n"u8);
42914291
writer.WriteBulkString(claimMinIdleTime.Value.TotalMilliseconds);
42924292
}
42934293

4294-
writer.WriteBulkString("STREAMS"u8);
4294+
writer.WriteRaw("$7\r\nSTREAMS\r\n"u8);
42954295
for (int i = 0; i < streamPositions.Length; i++)
42964296
{
42974297
writer.Write(streamPositions[i].Key);
@@ -4353,11 +4353,11 @@ protected override void WriteImpl(in MessageWriter writer)
43534353

43544354
if (countPerStream.HasValue)
43554355
{
4356-
writer.WriteBulkString("COUNT"u8);
4356+
writer.WriteRaw("$5\r\nCOUNT\r\n"u8);
43574357
writer.WriteBulkString(countPerStream.Value);
43584358
}
43594359

4360-
writer.WriteBulkString("STREAMS"u8);
4360+
writer.WriteRaw("$7\r\nSTREAMS\r\n"u8);
43614361
for (int i = 0; i < streamPositions.Length; i++)
43624362
{
43634363
writer.Write(streamPositions[i].Key);
@@ -5039,28 +5039,28 @@ public SingleStreamReadGroupCommandMessage(int db, CommandFlags flags, RedisKey
50395039
protected override void WriteImpl(in MessageWriter writer)
50405040
{
50415041
writer.WriteHeader(Command, argCount);
5042-
writer.WriteBulkString("GROUP"u8);
5042+
writer.WriteRaw("$5\r\nGROUP\r\n"u8);
50435043
writer.WriteBulkString(groupName);
50445044
writer.WriteBulkString(consumerName);
50455045

50465046
if (count.HasValue)
50475047
{
5048-
writer.WriteBulkString("COUNT"u8);
5048+
writer.WriteRaw("$5\r\nCOUNT\r\n"u8);
50495049
writer.WriteBulkString(count.Value);
50505050
}
50515051

50525052
if (noAck)
50535053
{
5054-
writer.WriteBulkString("NOACK"u8);
5054+
writer.WriteRaw("$5\r\nNOACK\r\n"u8);
50555055
}
50565056

50575057
if (claimMinIdleTime.HasValue)
50585058
{
5059-
writer.WriteBulkString("CLAIM"u8);
5059+
writer.WriteRaw("$5\r\nCLAIM\r\n"u8);
50605060
writer.WriteBulkString(claimMinIdleTime.Value.TotalMilliseconds);
50615061
}
50625062

5063-
writer.WriteBulkString("STREAMS"u8);
5063+
writer.WriteRaw("$7\r\nSTREAMS\r\n"u8);
50645064
writer.Write(Key);
50655065
writer.WriteBulkString(afterId);
50665066
}
@@ -5098,11 +5098,11 @@ protected override void WriteImpl(in MessageWriter writer)
50985098

50995099
if (count.HasValue)
51005100
{
5101-
writer.WriteBulkString("COUNT"u8);
5101+
writer.WriteRaw("$5\r\nCOUNT\r\n"u8);
51025102
writer.WriteBulkString(count.Value);
51035103
}
51045104

5105-
writer.WriteBulkString("STREAMS"u8);
5105+
writer.WriteRaw("$7\r\nSTREAMS\r\n"u8);
51065106
writer.Write(Key);
51075107
writer.WriteBulkString(afterId);
51085108
}
@@ -5540,7 +5540,7 @@ public ScriptLoadMessage(CommandFlags flags, string script)
55405540
protected override void WriteImpl(in MessageWriter writer)
55415541
{
55425542
writer.WriteHeader(Command, 2);
5543-
writer.WriteBulkString("LOAD"u8);
5543+
writer.WriteRaw("$4\r\nLOAD\r\n"u8);
55445544
writer.WriteBulkString((RedisValue)Script);
55455545
}
55465546
public override int ArgCount => 2;

src/StackExchange.Redis/SortedSetAddMessage.cs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -60,27 +60,27 @@ private void WriteOptions(in MessageWriter physical)
6060
{
6161
if ((_when & SortedSetWhen.NotExists) != 0)
6262
{
63-
physical.WriteBulkString("NX"u8);
63+
physical.WriteRaw("$2\r\nNX\r\n"u8);
6464
}
6565
if ((_when & SortedSetWhen.Exists) != 0)
6666
{
67-
physical.WriteBulkString("XX"u8);
67+
physical.WriteRaw("$2\r\nXX\r\n"u8);
6868
}
6969
if ((_when & SortedSetWhen.GreaterThan) != 0)
7070
{
71-
physical.WriteBulkString("GT"u8);
71+
physical.WriteRaw("$2\r\nGT\r\n"u8);
7272
}
7373
if ((_when & SortedSetWhen.LessThan) != 0)
7474
{
75-
physical.WriteBulkString("LT"u8);
75+
physical.WriteRaw("$2\r\nLT\r\n"u8);
7676
}
7777
if ((_when & Change) != 0)
7878
{
79-
physical.WriteBulkString("CH"u8);
79+
physical.WriteRaw("$2\r\nCH\r\n"u8);
8080
}
8181
if ((_when & Increment) != 0)
8282
{
83-
physical.WriteBulkString("INCR"u8);
83+
physical.WriteRaw("$4\r\nINCR\r\n"u8);
8484
}
8585
}
8686
}

src/StackExchange.Redis/StreamNackMessage.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -59,13 +59,13 @@ private void WriteMode(in MessageWriter writer)
5959
switch (mode)
6060
{
6161
case StreamNackMode.Silent:
62-
writer.WriteBulkString("SILENT"u8);
62+
writer.WriteRaw("$6\r\nSILENT\r\n"u8);
6363
break;
6464
case StreamNackMode.Fail:
65-
writer.WriteBulkString("FAIL"u8);
65+
writer.WriteRaw("$4\r\nFAIL\r\n"u8);
6666
break;
6767
case StreamNackMode.Fatal:
68-
writer.WriteBulkString("FATAL"u8);
68+
writer.WriteRaw("$5\r\nFATAL\r\n"u8);
6969
break;
7070
default:
7171
throw new ArgumentOutOfRangeException(nameof(mode));

src/StackExchange.Redis/ValueCondition.cs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -254,26 +254,26 @@ internal void WriteTo(in MessageWriter writer)
254254
switch (_kind)
255255
{
256256
case ConditionKind.Exists:
257-
writer.WriteBulkString("XX"u8);
257+
writer.WriteRaw("$2\r\nXX\r\n"u8);
258258
break;
259259
case ConditionKind.NotExists:
260-
writer.WriteBulkString("NX"u8);
260+
writer.WriteRaw("$2\r\nNX\r\n"u8);
261261
break;
262262
case ConditionKind.ValueEquals:
263-
writer.WriteBulkString("IFEQ"u8);
263+
writer.WriteRaw("$4\r\nIFEQ\r\n"u8);
264264
writer.WriteBulkString(_value);
265265
break;
266266
case ConditionKind.ValueNotEquals:
267-
writer.WriteBulkString("IFNE"u8);
267+
writer.WriteRaw("$4\r\nIFNE\r\n"u8);
268268
writer.WriteBulkString(_value);
269269
break;
270270
case ConditionKind.DigestEquals:
271-
writer.WriteBulkString("IFDEQ"u8);
271+
writer.WriteRaw("$5\r\nIFDEQ\r\n"u8);
272272
var written = WriteHex(_value.OverlappedValueInt64, stackalloc byte[2 * DigestBytes]);
273273
writer.WriteBulkString(written);
274274
break;
275275
case ConditionKind.DigestNotEquals:
276-
writer.WriteBulkString("IFDNE"u8);
276+
writer.WriteRaw("$5\r\nIFDNE\r\n"u8);
277277
written = WriteHex(_value.OverlappedValueInt64, stackalloc byte[2 * DigestBytes]);
278278
writer.WriteBulkString(written);
279279
break;

src/StackExchange.Redis/VectorSetAddMessage.cs

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -59,38 +59,38 @@ protected override void WriteImpl(in MessageWriter writer)
5959
writer.Write(key);
6060
if (reducedDimensions.HasValue)
6161
{
62-
writer.WriteBulkString("REDUCE"u8);
62+
writer.WriteRaw("$6\r\nREDUCE\r\n"u8);
6363
writer.WriteBulkString(reducedDimensions.GetValueOrDefault());
6464
}
6565

6666
WriteElement(writer);
67-
if (useCheckAndSet) writer.WriteBulkString("CAS"u8);
67+
if (useCheckAndSet) writer.WriteRaw("$3\r\nCAS\r\n"u8);
6868

6969
switch (quantization)
7070
{
7171
case VectorSetQuantization.Int8:
7272
break;
7373
case VectorSetQuantization.None:
74-
writer.WriteBulkString("NOQUANT"u8);
74+
writer.WriteRaw("$7\r\nNOQUANT\r\n"u8);
7575
break;
7676
case VectorSetQuantization.Binary:
77-
writer.WriteBulkString("BIN"u8);
77+
writer.WriteRaw("$3\r\nBIN\r\n"u8);
7878
break;
7979
default:
8080
throw new ArgumentOutOfRangeException(nameof(quantization));
8181
}
8282

8383
if (buildExplorationFactor.HasValue)
8484
{
85-
writer.WriteBulkString("EF"u8);
85+
writer.WriteRaw("$2\r\nEF\r\n"u8);
8686
writer.WriteBulkString(buildExplorationFactor.GetValueOrDefault());
8787
}
8888

8989
WriteAttributes(writer);
9090

9191
if (maxConnections.HasValue)
9292
{
93-
writer.WriteBulkString("M"u8);
93+
writer.WriteRaw("$1\r\nM\r\n"u8);
9494
writer.WriteBulkString(maxConnections.GetValueOrDefault());
9595
}
9696
}
@@ -132,12 +132,12 @@ protected override void WriteElement(in MessageWriter writer)
132132
{
133133
if (UseFp32)
134134
{
135-
writer.WriteBulkString("FP32"u8);
135+
writer.WriteRaw("$4\r\nFP32\r\n"u8);
136136
writer.WriteBulkString(MemoryMarshal.AsBytes(values.Span));
137137
}
138138
else
139139
{
140-
writer.WriteBulkString("VALUES"u8);
140+
writer.WriteRaw("$6\r\nVALUES\r\n"u8);
141141
writer.WriteBulkString(values.Length);
142142
foreach (var val in values.Span)
143143
{
@@ -152,7 +152,7 @@ protected override void WriteAttributes(in MessageWriter writer)
152152
{
153153
if (_attributesJson is not null)
154154
{
155-
writer.WriteBulkString("SETATTR"u8);
155+
writer.WriteRaw("$7\r\nSETATTR\r\n"u8);
156156
writer.WriteBulkString(_attributesJson);
157157
}
158158
}

0 commit comments

Comments
 (0)