forked from StackExchange/StackExchange.Redis
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathKeyPrefixedDatabase.cs
733 lines (499 loc) · 49.2 KB
/
KeyPrefixedDatabase.cs
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
using System;
using System.Collections.Generic;
using System.Net;
namespace StackExchange.Redis.KeyspaceIsolation
{
internal sealed class KeyPrefixedDatabase : KeyPrefixed<IDatabase>, IDatabase
{
public KeyPrefixedDatabase(IDatabase inner, byte[] prefix) : base(inner, prefix)
{
}
public IBatch CreateBatch(object? asyncState = null) =>
new KeyPrefixedBatch(Inner.CreateBatch(asyncState), Prefix);
public ITransaction CreateTransaction(object? asyncState = null) =>
new KeyPrefixedTransaction(Inner.CreateTransaction(asyncState), Prefix);
public int Database => Inner.Database;
public RedisValue DebugObject(RedisKey key, CommandFlags flags = CommandFlags.None) =>
Inner.DebugObject(ToInner(key), flags);
public bool GeoAdd(RedisKey key, double longitude, double latitude, RedisValue member, CommandFlags flags = CommandFlags.None) =>
Inner.GeoAdd(ToInner(key), longitude, latitude, member, flags);
public long GeoAdd(RedisKey key, GeoEntry[] values, CommandFlags flags = CommandFlags.None) =>
Inner.GeoAdd(ToInner(key), values, flags);
public bool GeoAdd(RedisKey key, GeoEntry value, CommandFlags flags = CommandFlags.None) =>
Inner.GeoAdd(ToInner(key), value, flags);
public bool GeoRemove(RedisKey key, RedisValue member, CommandFlags flags = CommandFlags.None) =>
Inner.GeoRemove(ToInner(key), member, flags);
public double? GeoDistance(RedisKey key, RedisValue member1, RedisValue member2, GeoUnit unit = GeoUnit.Meters, CommandFlags flags = CommandFlags.None) =>
Inner.GeoDistance(ToInner(key), member1, member2, unit, flags);
public string?[] GeoHash(RedisKey key, RedisValue[] members, CommandFlags flags = CommandFlags.None) =>
Inner.GeoHash(ToInner(key), members, flags);
public string? GeoHash(RedisKey key, RedisValue member, CommandFlags flags = CommandFlags.None) =>
Inner.GeoHash(ToInner(key), member, flags);
public GeoPosition?[] GeoPosition(RedisKey key, RedisValue[] members, CommandFlags flags = CommandFlags.None) =>
Inner.GeoPosition(ToInner(key), members, flags);
public GeoPosition? GeoPosition(RedisKey key, RedisValue member, CommandFlags flags = CommandFlags.None) =>
Inner.GeoPosition(ToInner(key), member, flags);
public GeoRadiusResult[] GeoRadius(RedisKey key, RedisValue member, double radius, GeoUnit unit = GeoUnit.Meters, int count = -1, Order? order = null, GeoRadiusOptions options = GeoRadiusOptions.Default, CommandFlags flags = CommandFlags.None) =>
Inner.GeoRadius(ToInner(key), member, radius, unit, count, order, options, flags);
public GeoRadiusResult[] GeoRadius(RedisKey key, double longitude, double latitude, double radius, GeoUnit unit = GeoUnit.Meters, int count = -1, Order? order = null, GeoRadiusOptions options = GeoRadiusOptions.Default, CommandFlags flags = CommandFlags.None) =>
Inner.GeoRadius(ToInner(key), longitude, latitude, radius, unit, count, order, options, flags);
public GeoRadiusResult[] GeoSearch(RedisKey key, RedisValue member, GeoSearchShape shape, int count = -1, bool demandClosest = true, Order? order = null, GeoRadiusOptions options = GeoRadiusOptions.Default, CommandFlags flags = CommandFlags.None) =>
Inner.GeoSearch(ToInner(key), member, shape, count, demandClosest, order, options, flags);
public GeoRadiusResult[] GeoSearch(RedisKey key, double longitude, double latitude, GeoSearchShape shape, int count = -1, bool demandClosest = true, Order? order = null, GeoRadiusOptions options = GeoRadiusOptions.Default, CommandFlags flags = CommandFlags.None) =>
Inner.GeoSearch(ToInner(key), longitude, latitude, shape, count, demandClosest, order, options, flags);
public long GeoSearchAndStore(RedisKey sourceKey, RedisKey destinationKey, RedisValue member, GeoSearchShape shape, int count = -1, bool demandClosest = true, Order? order = null, bool storeDistances = false, CommandFlags flags = CommandFlags.None) =>
Inner.GeoSearchAndStore(ToInner(sourceKey), ToInner(destinationKey), member, shape, count, demandClosest, order, storeDistances, flags);
public long GeoSearchAndStore(RedisKey sourceKey, RedisKey destinationKey, double longitude, double latitude, GeoSearchShape shape, int count = -1, bool demandClosest = true, Order? order = null, bool storeDistances = false, CommandFlags flags = CommandFlags.None) =>
Inner.GeoSearchAndStore(ToInner(sourceKey), ToInner(destinationKey), longitude, latitude, shape, count, demandClosest, order, storeDistances, flags);
public double HashDecrement(RedisKey key, RedisValue hashField, double value, CommandFlags flags = CommandFlags.None) =>
Inner.HashDecrement(ToInner(key), hashField, value, flags);
public long HashDecrement(RedisKey key, RedisValue hashField, long value = 1, CommandFlags flags = CommandFlags.None) =>
Inner.HashDecrement(ToInner(key), hashField, value, flags);
public long HashDelete(RedisKey key, RedisValue[] hashFields, CommandFlags flags = CommandFlags.None) =>
Inner.HashDelete(ToInner(key), hashFields, flags);
public bool HashDelete(RedisKey key, RedisValue hashField, CommandFlags flags = CommandFlags.None) =>
Inner.HashDelete(ToInner(key), hashField, flags);
public bool HashExists(RedisKey key, RedisValue hashField, CommandFlags flags = CommandFlags.None) =>
Inner.HashExists(ToInner(key), hashField, flags);
public HashEntry[] HashGetAll(RedisKey key, CommandFlags flags = CommandFlags.None) =>
Inner.HashGetAll(ToInner(key), flags);
public RedisValue[] HashGet(RedisKey key, RedisValue[] hashFields, CommandFlags flags = CommandFlags.None) =>
Inner.HashGet(ToInner(key), hashFields, flags);
public RedisValue HashGet(RedisKey key, RedisValue hashField, CommandFlags flags = CommandFlags.None) =>
Inner.HashGet(ToInner(key), hashField, flags);
public Lease<byte>? HashGetLease(RedisKey key, RedisValue hashField, CommandFlags flags = CommandFlags.None) =>
Inner.HashGetLease(ToInner(key), hashField, flags);
public double HashIncrement(RedisKey key, RedisValue hashField, double value, CommandFlags flags = CommandFlags.None) =>
Inner.HashIncrement(ToInner(key), hashField, value, flags);
public long HashIncrement(RedisKey key, RedisValue hashField, long value = 1, CommandFlags flags = CommandFlags.None) =>
Inner.HashIncrement(ToInner(key), hashField, value, flags);
public RedisValue[] HashKeys(RedisKey key, CommandFlags flags = CommandFlags.None) =>
Inner.HashKeys(ToInner(key), flags);
public long HashLength(RedisKey key, CommandFlags flags = CommandFlags.None) =>
Inner.HashLength(ToInner(key), flags);
public RedisValue HashRandomField(RedisKey key, CommandFlags flags = CommandFlags.None) =>
Inner.HashRandomField(ToInner(key), flags);
public RedisValue[] HashRandomFields(RedisKey key, long count, CommandFlags flags = CommandFlags.None) =>
Inner.HashRandomFields(ToInner(key), count, flags);
public HashEntry[] HashRandomFieldsWithValues(RedisKey key, long count, CommandFlags flags = CommandFlags.None) =>
Inner.HashRandomFieldsWithValues(ToInner(key), count, flags);
public bool HashSet(RedisKey key, RedisValue hashField, RedisValue value, When when = When.Always, CommandFlags flags = CommandFlags.None) =>
Inner.HashSet(ToInner(key), hashField, value, when, flags);
public long HashStringLength(RedisKey key, RedisValue hashField, CommandFlags flags = CommandFlags.None) =>
Inner.HashStringLength(ToInner(key), hashField, flags);
public void HashSet(RedisKey key, HashEntry[] hashFields, CommandFlags flags = CommandFlags.None) =>
Inner.HashSet(ToInner(key), hashFields, flags);
public RedisValue[] HashValues(RedisKey key, CommandFlags flags = CommandFlags.None) =>
Inner.HashValues(ToInner(key), flags);
public bool HyperLogLogAdd(RedisKey key, RedisValue[] values, CommandFlags flags = CommandFlags.None) =>
Inner.HyperLogLogAdd(ToInner(key), values, flags);
public bool HyperLogLogAdd(RedisKey key, RedisValue value, CommandFlags flags = CommandFlags.None) =>
Inner.HyperLogLogAdd(ToInner(key), value, flags);
public long HyperLogLogLength(RedisKey key, CommandFlags flags = CommandFlags.None) =>
Inner.HyperLogLogLength(ToInner(key), flags);
public long HyperLogLogLength(RedisKey[] keys, CommandFlags flags = CommandFlags.None) =>
Inner.HyperLogLogLength(ToInner(keys), flags);
public void HyperLogLogMerge(RedisKey destination, RedisKey[] sourceKeys, CommandFlags flags = CommandFlags.None) =>
Inner.HyperLogLogMerge(ToInner(destination), ToInner(sourceKeys), flags);
public void HyperLogLogMerge(RedisKey destination, RedisKey first, RedisKey second, CommandFlags flags = CommandFlags.None) =>
Inner.HyperLogLogMerge(ToInner(destination), ToInner(first), ToInner(second), flags);
public EndPoint? IdentifyEndpoint(RedisKey key = default, CommandFlags flags = CommandFlags.None) =>
Inner.IdentifyEndpoint(ToInner(key), flags);
public bool KeyCopy(RedisKey sourceKey, RedisKey destinationKey, int destinationDatabase = -1, bool replace = false, CommandFlags flags = CommandFlags.None) =>
Inner.KeyCopy(ToInner(sourceKey), ToInner(destinationKey), destinationDatabase, replace, flags);
public long KeyDelete(RedisKey[] keys, CommandFlags flags = CommandFlags.None) =>
Inner.KeyDelete(ToInner(keys), flags);
public bool KeyDelete(RedisKey key, CommandFlags flags = CommandFlags.None) =>
Inner.KeyDelete(ToInner(key), flags);
public byte[]? KeyDump(RedisKey key, CommandFlags flags = CommandFlags.None) =>
Inner.KeyDump(ToInner(key), flags);
public string? KeyEncoding(RedisKey key, CommandFlags flags = CommandFlags.None) =>
Inner.KeyEncoding(ToInner(key), flags);
public bool KeyExists(RedisKey key, CommandFlags flags = CommandFlags.None) =>
Inner.KeyExists(ToInner(key), flags);
public long KeyExists(RedisKey[] keys, CommandFlags flags = CommandFlags.None) =>
Inner.KeyExists(ToInner(keys), flags);
public bool KeyExpire(RedisKey key, DateTime? expiry, CommandFlags flags) =>
Inner.KeyExpire(ToInner(key), expiry, flags);
public bool KeyExpire(RedisKey key, DateTime? expiry, ExpireWhen when = ExpireWhen.Always, CommandFlags flags = CommandFlags.None) =>
Inner.KeyExpire(ToInner(key), expiry, when, flags);
public bool KeyExpire(RedisKey key, TimeSpan? expiry, CommandFlags flags) =>
Inner.KeyExpire(ToInner(key), expiry, flags);
public bool KeyExpire(RedisKey key, TimeSpan? expiry, ExpireWhen when = ExpireWhen.Always, CommandFlags flags = CommandFlags.None) =>
Inner.KeyExpire(ToInner(key), expiry, when, flags);
public DateTime? KeyExpireTime(RedisKey key, CommandFlags flags = CommandFlags.None) =>
Inner.KeyExpireTime(ToInner(key), flags);
public long? KeyFrequency(RedisKey key, CommandFlags flags = CommandFlags.None) =>
Inner.KeyFrequency(ToInner(key), flags);
public TimeSpan? KeyIdleTime(RedisKey key, CommandFlags flags = CommandFlags.None) =>
Inner.KeyIdleTime(ToInner(key), flags);
public void KeyMigrate(RedisKey key, EndPoint toServer, int toDatabase = 0, int timeoutMilliseconds = 0, MigrateOptions migrateOptions = MigrateOptions.None, CommandFlags flags = CommandFlags.None) =>
Inner.KeyMigrate(ToInner(key), toServer, toDatabase, timeoutMilliseconds, migrateOptions, flags);
public bool KeyMove(RedisKey key, int database, CommandFlags flags = CommandFlags.None) =>
Inner.KeyMove(ToInner(key), database, flags);
public bool KeyPersist(RedisKey key, CommandFlags flags = CommandFlags.None) =>
Inner.KeyPersist(ToInner(key), flags);
public RedisKey KeyRandom(CommandFlags flags = CommandFlags.None) =>
throw new NotSupportedException("RANDOMKEY is not supported when a key-prefix is specified");
public long? KeyRefCount(RedisKey key, CommandFlags flags = CommandFlags.None) =>
Inner.KeyRefCount(ToInner(key), flags);
public bool KeyRename(RedisKey key, RedisKey newKey, When when = When.Always, CommandFlags flags = CommandFlags.None) =>
Inner.KeyRename(ToInner(key), ToInner(newKey), when, flags);
public void KeyRestore(RedisKey key, byte[] value, TimeSpan? expiry = null, CommandFlags flags = CommandFlags.None) =>
Inner.KeyRestore(ToInner(key), value, expiry, flags);
public TimeSpan? KeyTimeToLive(RedisKey key, CommandFlags flags = CommandFlags.None) =>
Inner.KeyTimeToLive(ToInner(key), flags);
public RedisType KeyType(RedisKey key, CommandFlags flags = CommandFlags.None) =>
Inner.KeyType(ToInner(key), flags);
public RedisValue ListGetByIndex(RedisKey key, long index, CommandFlags flags = CommandFlags.None) =>
Inner.ListGetByIndex(ToInner(key), index, flags);
public long ListInsertAfter(RedisKey key, RedisValue pivot, RedisValue value, CommandFlags flags = CommandFlags.None) =>
Inner.ListInsertAfter(ToInner(key), pivot, value, flags);
public long ListInsertBefore(RedisKey key, RedisValue pivot, RedisValue value, CommandFlags flags = CommandFlags.None) =>
Inner.ListInsertBefore(ToInner(key), pivot, value, flags);
public RedisValue ListLeftPop(RedisKey key, CommandFlags flags = CommandFlags.None) =>
Inner.ListLeftPop(ToInner(key), flags);
public RedisValue[] ListLeftPop(RedisKey key, long count, CommandFlags flags = CommandFlags.None) =>
Inner.ListLeftPop(ToInner(key), count, flags);
public ListPopResult ListLeftPop(RedisKey[] keys, long count, CommandFlags flags = CommandFlags.None) =>
Inner.ListLeftPop(ToInner(keys), count, flags);
public long ListPosition(RedisKey key, RedisValue element, long rank = 1, long maxLength = 0, CommandFlags flags = CommandFlags.None) =>
Inner.ListPosition(ToInner(key), element, rank, maxLength, flags);
public long[] ListPositions(RedisKey key, RedisValue element, long count, long rank = 1, long maxLength = 0, CommandFlags flags = CommandFlags.None) =>
Inner.ListPositions(ToInner(key), element, count, rank, maxLength, flags);
public long ListLeftPush(RedisKey key, RedisValue[] values, CommandFlags flags = CommandFlags.None) =>
Inner.ListLeftPush(ToInner(key), values, flags);
public long ListLeftPush(RedisKey key, RedisValue[] values, When when = When.Always, CommandFlags flags = CommandFlags.None) =>
Inner.ListLeftPush(ToInner(key), values, when, flags);
public long ListLeftPush(RedisKey key, RedisValue value, When when = When.Always, CommandFlags flags = CommandFlags.None) =>
Inner.ListLeftPush(ToInner(key), value, when, flags);
public long ListLength(RedisKey key, CommandFlags flags = CommandFlags.None) =>
Inner.ListLength(ToInner(key), flags);
public RedisValue ListMove(RedisKey sourceKey, RedisKey destinationKey, ListSide sourceSide, ListSide destinationSide, CommandFlags flags = CommandFlags.None) =>
Inner.ListMove(ToInner(sourceKey), ToInner(destinationKey), sourceSide, destinationSide);
public RedisValue[] ListRange(RedisKey key, long start = 0, long stop = -1, CommandFlags flags = CommandFlags.None) =>
Inner.ListRange(ToInner(key), start, stop, flags);
public long ListRemove(RedisKey key, RedisValue value, long count = 0, CommandFlags flags = CommandFlags.None) =>
Inner.ListRemove(ToInner(key), value, count, flags);
public RedisValue ListRightPop(RedisKey key, CommandFlags flags = CommandFlags.None) =>
Inner.ListRightPop(ToInner(key), flags);
public RedisValue[] ListRightPop(RedisKey key, long count, CommandFlags flags = CommandFlags.None) =>
Inner.ListRightPop(ToInner(key), count, flags);
public ListPopResult ListRightPop(RedisKey[] keys, long count, CommandFlags flags = CommandFlags.None) =>
Inner.ListRightPop(ToInner(keys), count, flags);
public RedisValue ListRightPopLeftPush(RedisKey source, RedisKey destination, CommandFlags flags = CommandFlags.None) =>
Inner.ListRightPopLeftPush(ToInner(source), ToInner(destination), flags);
public long ListRightPush(RedisKey key, RedisValue[] values, CommandFlags flags = CommandFlags.None) =>
Inner.ListRightPush(ToInner(key), values, flags);
public long ListRightPush(RedisKey key, RedisValue[] values, When when = When.Always, CommandFlags flags = CommandFlags.None) =>
Inner.ListRightPush(ToInner(key), values, when, flags);
public long ListRightPush(RedisKey key, RedisValue value, When when = When.Always, CommandFlags flags = CommandFlags.None) =>
Inner.ListRightPush(ToInner(key), value, when, flags);
public void ListSetByIndex(RedisKey key, long index, RedisValue value, CommandFlags flags = CommandFlags.None) =>
Inner.ListSetByIndex(ToInner(key), index, value, flags);
public void ListTrim(RedisKey key, long start, long stop, CommandFlags flags = CommandFlags.None) =>
Inner.ListTrim(ToInner(key), start, stop, flags);
public bool LockExtend(RedisKey key, RedisValue value, TimeSpan expiry, CommandFlags flags = CommandFlags.None) =>
Inner.LockExtend(ToInner(key), value, expiry, flags);
public RedisValue LockQuery(RedisKey key, CommandFlags flags = CommandFlags.None) =>
Inner.LockQuery(ToInner(key), flags);
public bool LockRelease(RedisKey key, RedisValue value, CommandFlags flags = CommandFlags.None) =>
Inner.LockRelease(ToInner(key), value, flags);
public bool LockTake(RedisKey key, RedisValue value, TimeSpan expiry, CommandFlags flags = CommandFlags.None) =>
Inner.LockTake(ToInner(key), value, expiry, flags);
public string? StringLongestCommonSubsequence(RedisKey first, RedisKey second, CommandFlags flags = CommandFlags.None) =>
Inner.StringLongestCommonSubsequence(ToInner(first), ToInner(second), flags);
public long StringLongestCommonSubsequenceLength(RedisKey first, RedisKey second, CommandFlags flags = CommandFlags.None) =>
Inner.StringLongestCommonSubsequenceLength(ToInner(first), ToInner(second), flags);
public LCSMatchResult StringLongestCommonSubsequenceWithMatches(RedisKey first, RedisKey second, long minLength = 0, CommandFlags flags = CommandFlags.None) =>
Inner.StringLongestCommonSubsequenceWithMatches(ToInner(first), ToInner(second), minLength, flags);
public long Publish(RedisChannel channel, RedisValue message, CommandFlags flags = CommandFlags.None) =>
Inner.Publish(ToInner(channel), message, flags);
public RedisResult Execute(string command, params object[] args)
=> Inner.Execute(command, ToInner(args), CommandFlags.None);
public RedisResult Execute(string command, ICollection<object> args, CommandFlags flags = CommandFlags.None)
=> Inner.Execute(command, ToInner(args), flags);
public RedisResult ScriptEvaluate(byte[] hash, RedisKey[]? keys = null, RedisValue[]? values = null, CommandFlags flags = CommandFlags.None) =>
// TODO: The return value could contain prefixed keys. It might make sense to 'unprefix' those?
Inner.ScriptEvaluate(hash, ToInner(keys), values, flags);
public RedisResult ScriptEvaluate(string script, RedisKey[]? keys = null, RedisValue[]? values = null, CommandFlags flags = CommandFlags.None) =>
// TODO: The return value could contain prefixed keys. It might make sense to 'unprefix' those?
Inner.ScriptEvaluate(script, ToInner(keys), values, flags);
public RedisResult ScriptEvaluate(LuaScript script, object? parameters = null, CommandFlags flags = CommandFlags.None) =>
// TODO: The return value could contain prefixed keys. It might make sense to 'unprefix' those?
script.Evaluate(Inner, parameters, Prefix, flags);
public RedisResult ScriptEvaluate(LoadedLuaScript script, object? parameters = null, CommandFlags flags = CommandFlags.None) =>
// TODO: The return value could contain prefixed keys. It might make sense to 'unprefix' those?
script.Evaluate(Inner, parameters, Prefix, flags);
public RedisResult ScriptEvaluateReadOnly(byte[] hash, RedisKey[]? keys = null, RedisValue[]? values = null, CommandFlags flags = CommandFlags.None) =>
// TODO: The return value could contain prefixed keys. It might make sense to 'unprefix' those?
Inner.ScriptEvaluateReadOnly(hash, ToInner(keys), values, flags);
public RedisResult ScriptEvaluateReadOnly(string script, RedisKey[]? keys = null, RedisValue[]? values = null, CommandFlags flags = CommandFlags.None) =>
// TODO: The return value could contain prefixed keys. It might make sense to 'unprefix' those?
Inner.ScriptEvaluateReadOnly(script, ToInner(keys), values, flags);
public long SetAdd(RedisKey key, RedisValue[] values, CommandFlags flags = CommandFlags.None) =>
Inner.SetAdd(ToInner(key), values, flags);
public bool SetAdd(RedisKey key, RedisValue value, CommandFlags flags = CommandFlags.None) =>
Inner.SetAdd(ToInner(key), value, flags);
public long SetCombineAndStore(SetOperation operation, RedisKey destination, RedisKey[] keys, CommandFlags flags = CommandFlags.None) =>
Inner.SetCombineAndStore(operation, ToInner(destination), ToInner(keys), flags);
public long SetCombineAndStore(SetOperation operation, RedisKey destination, RedisKey first, RedisKey second, CommandFlags flags = CommandFlags.None) =>
Inner.SetCombineAndStore(operation, ToInner(destination), ToInner(first), ToInner(second), flags);
public RedisValue[] SetCombine(SetOperation operation, RedisKey[] keys, CommandFlags flags = CommandFlags.None) =>
Inner.SetCombine(operation, ToInner(keys), flags);
public RedisValue[] SetCombine(SetOperation operation, RedisKey first, RedisKey second, CommandFlags flags = CommandFlags.None) =>
Inner.SetCombine(operation, ToInner(first), ToInner(second), flags);
public bool SetContains(RedisKey key, RedisValue value, CommandFlags flags = CommandFlags.None) =>
Inner.SetContains(ToInner(key), value, flags);
public bool[] SetContains(RedisKey key, RedisValue[] values, CommandFlags flags = CommandFlags.None) =>
Inner.SetContains(ToInner(key), values, flags);
public long SetIntersectionLength(RedisKey[] keys, long limit = 0, CommandFlags flags = CommandFlags.None) =>
Inner.SetIntersectionLength(keys, limit, flags);
public long SetLength(RedisKey key, CommandFlags flags = CommandFlags.None) =>
Inner.SetLength(ToInner(key), flags);
public RedisValue[] SetMembers(RedisKey key, CommandFlags flags = CommandFlags.None) =>
Inner.SetMembers(ToInner(key), flags);
public bool SetMove(RedisKey source, RedisKey destination, RedisValue value, CommandFlags flags = CommandFlags.None) =>
Inner.SetMove(ToInner(source), ToInner(destination), value, flags);
public RedisValue SetPop(RedisKey key, CommandFlags flags = CommandFlags.None) =>
Inner.SetPop(ToInner(key), flags);
public RedisValue[] SetPop(RedisKey key, long count, CommandFlags flags = CommandFlags.None) =>
Inner.SetPop(ToInner(key), count, flags);
public RedisValue SetRandomMember(RedisKey key, CommandFlags flags = CommandFlags.None) =>
Inner.SetRandomMember(ToInner(key), flags);
public RedisValue[] SetRandomMembers(RedisKey key, long count, CommandFlags flags = CommandFlags.None) =>
Inner.SetRandomMembers(ToInner(key), count, flags);
public long SetRemove(RedisKey key, RedisValue[] values, CommandFlags flags = CommandFlags.None) =>
Inner.SetRemove(ToInner(key), values, flags);
public bool SetRemove(RedisKey key, RedisValue value, CommandFlags flags = CommandFlags.None) =>
Inner.SetRemove(ToInner(key), value, flags);
public long SortAndStore(RedisKey destination, RedisKey key, long skip = 0, long take = -1, Order order = Order.Ascending, SortType sortType = SortType.Numeric, RedisValue by = default, RedisValue[]? get = null, CommandFlags flags = CommandFlags.None) =>
Inner.SortAndStore(ToInner(destination), ToInner(key), skip, take, order, sortType, SortByToInner(by), SortGetToInner(get), flags);
public RedisValue[] Sort(RedisKey key, long skip = 0, long take = -1, Order order = Order.Ascending, SortType sortType = SortType.Numeric, RedisValue by = default, RedisValue[]? get = null, CommandFlags flags = CommandFlags.None) =>
Inner.Sort(ToInner(key), skip, take, order, sortType, SortByToInner(by), SortGetToInner(get), flags);
public long SortedSetAdd(RedisKey key, SortedSetEntry[] values, CommandFlags flags) =>
Inner.SortedSetAdd(ToInner(key), values, flags);
public long SortedSetAdd(RedisKey key, SortedSetEntry[] values, When when = When.Always, CommandFlags flags = CommandFlags.None) =>
Inner.SortedSetAdd(ToInner(key), values, when, flags);
public long SortedSetAdd(RedisKey key, SortedSetEntry[] values, SortedSetWhen when = SortedSetWhen.Always, CommandFlags flags = CommandFlags.None) =>
Inner.SortedSetAdd(ToInner(key), values, when, flags);
public bool SortedSetAdd(RedisKey key, RedisValue member, double score, CommandFlags flags) =>
Inner.SortedSetAdd(ToInner(key), member, score, flags);
public bool SortedSetAdd(RedisKey key, RedisValue member, double score, When when = When.Always, CommandFlags flags = CommandFlags.None) =>
Inner.SortedSetAdd(ToInner(key), member, score, when, flags);
public bool SortedSetAdd(RedisKey key, RedisValue member, double score, SortedSetWhen when = SortedSetWhen.Always, CommandFlags flags = CommandFlags.None) =>
Inner.SortedSetAdd(ToInner(key), member, score, when, flags);
public RedisValue[] SortedSetCombine(SetOperation operation, RedisKey[] keys, double[]? weights = null, Aggregate aggregate = Aggregate.Sum, CommandFlags flags = CommandFlags.None) =>
Inner.SortedSetCombine(operation, keys, weights, aggregate, flags);
public SortedSetEntry[] SortedSetCombineWithScores(SetOperation operation, RedisKey[] keys, double[]? weights = null, Aggregate aggregate = Aggregate.Sum, CommandFlags flags = CommandFlags.None) =>
Inner.SortedSetCombineWithScores(operation, keys, weights, aggregate, flags);
public long SortedSetCombineAndStore(SetOperation operation, RedisKey destination, RedisKey[] keys, double[]? weights = null, Aggregate aggregate = Aggregate.Sum, CommandFlags flags = CommandFlags.None) =>
Inner.SortedSetCombineAndStore(operation, ToInner(destination), ToInner(keys), weights, aggregate, flags);
public long SortedSetCombineAndStore(SetOperation operation, RedisKey destination, RedisKey first, RedisKey second, Aggregate aggregate = Aggregate.Sum, CommandFlags flags = CommandFlags.None) =>
Inner.SortedSetCombineAndStore(operation, ToInner(destination), ToInner(first), ToInner(second), aggregate, flags);
public double SortedSetDecrement(RedisKey key, RedisValue member, double value, CommandFlags flags = CommandFlags.None) =>
Inner.SortedSetDecrement(ToInner(key), member, value, flags);
public double SortedSetIncrement(RedisKey key, RedisValue member, double value, CommandFlags flags = CommandFlags.None) =>
Inner.SortedSetIncrement(ToInner(key), member, value, flags);
public long SortedSetIntersectionLength(RedisKey[] keys, long limit = 0, CommandFlags flags = CommandFlags.None) =>
Inner.SortedSetIntersectionLength(keys, limit, flags);
public long SortedSetLength(RedisKey key, double min = -1.0 / 0.0, double max = 1.0 / 0.0, Exclude exclude = Exclude.None, CommandFlags flags = CommandFlags.None) =>
Inner.SortedSetLength(ToInner(key), min, max, exclude, flags);
public long SortedSetLengthByValue(RedisKey key, RedisValue min, RedisValue max, Exclude exclude = Exclude.None, CommandFlags flags = CommandFlags.None) =>
Inner.SortedSetLengthByValue(ToInner(key), min, max, exclude, flags);
public RedisValue SortedSetRandomMember(RedisKey key, CommandFlags flags = CommandFlags.None) =>
Inner.SortedSetRandomMember(ToInner(key), flags);
public RedisValue[] SortedSetRandomMembers(RedisKey key, long count, CommandFlags flags = CommandFlags.None) =>
Inner.SortedSetRandomMembers(ToInner(key), count, flags);
public SortedSetEntry[] SortedSetRandomMembersWithScores(RedisKey key, long count, CommandFlags flags = CommandFlags.None) =>
Inner.SortedSetRandomMembersWithScores(ToInner(key), count, flags);
public RedisValue[] SortedSetRangeByRank(RedisKey key, long start = 0, long stop = -1, Order order = Order.Ascending, CommandFlags flags = CommandFlags.None) =>
Inner.SortedSetRangeByRank(ToInner(key), start, stop, order, flags);
public long SortedSetRangeAndStore(
RedisKey destinationKey,
RedisKey sourceKey,
RedisValue start,
RedisValue stop,
SortedSetOrder sortedSetOrder = SortedSetOrder.ByRank,
Exclude exclude = Exclude.None,
Order order = Order.Ascending,
long skip = 0,
long? take = null,
CommandFlags flags = CommandFlags.None) =>
Inner.SortedSetRangeAndStore(ToInner(sourceKey), ToInner(destinationKey), start, stop, sortedSetOrder, exclude, order, skip, take, flags);
public SortedSetEntry[] SortedSetRangeByRankWithScores(RedisKey key, long start = 0, long stop = -1, Order order = Order.Ascending, CommandFlags flags = CommandFlags.None) =>
Inner.SortedSetRangeByRankWithScores(ToInner(key), start, stop, order, flags);
public RedisValue[] SortedSetRangeByScore(RedisKey key, double start = -1.0 / 0.0, double stop = 1.0 / 0.0, Exclude exclude = Exclude.None, Order order = Order.Ascending, long skip = 0, long take = -1, CommandFlags flags = CommandFlags.None) =>
Inner.SortedSetRangeByScore(ToInner(key), start, stop, exclude, order, skip, take, flags);
public SortedSetEntry[] SortedSetRangeByScoreWithScores(RedisKey key, double start = -1.0 / 0.0, double stop = 1.0 / 0.0, Exclude exclude = Exclude.None, Order order = Order.Ascending, long skip = 0, long take = -1, CommandFlags flags = CommandFlags.None) =>
Inner.SortedSetRangeByScoreWithScores(ToInner(key), start, stop, exclude, order, skip, take, flags);
public RedisValue[] SortedSetRangeByValue(RedisKey key, RedisValue min, RedisValue max, Exclude exclude, long skip, long take, CommandFlags flags) =>
Inner.SortedSetRangeByValue(ToInner(key), min, max, exclude, Order.Ascending, skip, take, flags);
public RedisValue[] SortedSetRangeByValue(RedisKey key, RedisValue min = default, RedisValue max = default, Exclude exclude = Exclude.None, Order order = Order.Ascending, long skip = 0, long take = -1, CommandFlags flags = CommandFlags.None) =>
Inner.SortedSetRangeByValue(ToInner(key), min, max, exclude, order, skip, take, flags);
public long? SortedSetRank(RedisKey key, RedisValue member, Order order = Order.Ascending, CommandFlags flags = CommandFlags.None) =>
Inner.SortedSetRank(ToInner(key), member, order, flags);
public long SortedSetRemove(RedisKey key, RedisValue[] members, CommandFlags flags = CommandFlags.None) =>
Inner.SortedSetRemove(ToInner(key), members, flags);
public bool SortedSetRemove(RedisKey key, RedisValue member, CommandFlags flags = CommandFlags.None) =>
Inner.SortedSetRemove(ToInner(key), member, flags);
public long SortedSetRemoveRangeByRank(RedisKey key, long start, long stop, CommandFlags flags = CommandFlags.None) =>
Inner.SortedSetRemoveRangeByRank(ToInner(key), start, stop, flags);
public long SortedSetRemoveRangeByScore(RedisKey key, double start, double stop, Exclude exclude = Exclude.None, CommandFlags flags = CommandFlags.None) =>
Inner.SortedSetRemoveRangeByScore(ToInner(key), start, stop, exclude, flags);
public long SortedSetRemoveRangeByValue(RedisKey key, RedisValue min, RedisValue max, Exclude exclude = Exclude.None, CommandFlags flags = CommandFlags.None) =>
Inner.SortedSetRemoveRangeByValue(ToInner(key), min, max, exclude, flags);
public double? SortedSetScore(RedisKey key, RedisValue member, CommandFlags flags = CommandFlags.None) =>
Inner.SortedSetScore(ToInner(key), member, flags);
public double?[] SortedSetScores(RedisKey key, RedisValue[] members, CommandFlags flags = CommandFlags.None) =>
Inner.SortedSetScores(ToInner(key), members, flags);
public long SortedSetUpdate(RedisKey key, SortedSetEntry[] values, SortedSetWhen when = SortedSetWhen.Always, CommandFlags flags = CommandFlags.None) =>
Inner.SortedSetUpdate(ToInner(key), values, when, flags);
public bool SortedSetUpdate(RedisKey key, RedisValue member, double score, SortedSetWhen when = SortedSetWhen.Always, CommandFlags flags = CommandFlags.None) =>
Inner.SortedSetUpdate(ToInner(key), member, score, when, flags);
public SortedSetEntry? SortedSetPop(RedisKey key, Order order = Order.Ascending, CommandFlags flags = CommandFlags.None) =>
Inner.SortedSetPop(ToInner(key), order, flags);
public SortedSetEntry[] SortedSetPop(RedisKey key, long count, Order order = Order.Ascending, CommandFlags flags = CommandFlags.None) =>
Inner.SortedSetPop(ToInner(key), count, order, flags);
public SortedSetPopResult SortedSetPop(RedisKey[] keys, long count, Order order = Order.Ascending, CommandFlags flags = CommandFlags.None) =>
Inner.SortedSetPop(ToInner(keys), count, order, flags);
public long StreamAcknowledge(RedisKey key, RedisValue groupName, RedisValue messageId, CommandFlags flags = CommandFlags.None) =>
Inner.StreamAcknowledge(ToInner(key), groupName, messageId, flags);
public long StreamAcknowledge(RedisKey key, RedisValue groupName, RedisValue[] messageIds, CommandFlags flags = CommandFlags.None) =>
Inner.StreamAcknowledge(ToInner(key), groupName, messageIds, flags);
public RedisValue StreamAdd(RedisKey key, RedisValue streamField, RedisValue streamValue, RedisValue? messageId = null, int? maxLength = null, bool useApproximateMaxLength = false, CommandFlags flags = CommandFlags.None) =>
Inner.StreamAdd(ToInner(key), streamField, streamValue, messageId, maxLength, useApproximateMaxLength, flags);
public RedisValue StreamAdd(RedisKey key, NameValueEntry[] streamPairs, RedisValue? messageId = null, int? maxLength = null, bool useApproximateMaxLength = false, CommandFlags flags = CommandFlags.None) =>
Inner.StreamAdd(ToInner(key), streamPairs, messageId, maxLength, useApproximateMaxLength, flags);
public StreamAutoClaimResult StreamAutoClaim(RedisKey key, RedisValue consumerGroup, RedisValue claimingConsumer, long minIdleTimeInMs, RedisValue startAtId, int? count = null, CommandFlags flags = CommandFlags.None) =>
Inner.StreamAutoClaim(ToInner(key), consumerGroup, claimingConsumer, minIdleTimeInMs, startAtId, count, flags);
public StreamAutoClaimIdsOnlyResult StreamAutoClaimIdsOnly(RedisKey key, RedisValue consumerGroup, RedisValue claimingConsumer, long minIdleTimeInMs, RedisValue startAtId, int? count = null, CommandFlags flags = CommandFlags.None) =>
Inner.StreamAutoClaimIdsOnly(ToInner(key), consumerGroup, claimingConsumer, minIdleTimeInMs, startAtId, count, flags);
public StreamEntry[] StreamClaim(RedisKey key, RedisValue consumerGroup, RedisValue claimingConsumer, long minIdleTimeInMs, RedisValue[] messageIds, CommandFlags flags = CommandFlags.None) =>
Inner.StreamClaim(ToInner(key), consumerGroup, claimingConsumer, minIdleTimeInMs, messageIds, flags);
public RedisValue[] StreamClaimIdsOnly(RedisKey key, RedisValue consumerGroup, RedisValue claimingConsumer, long minIdleTimeInMs, RedisValue[] messageIds, CommandFlags flags = CommandFlags.None) =>
Inner.StreamClaimIdsOnly(ToInner(key), consumerGroup, claimingConsumer, minIdleTimeInMs, messageIds, flags);
public bool StreamConsumerGroupSetPosition(RedisKey key, RedisValue groupName, RedisValue position, CommandFlags flags = CommandFlags.None) =>
Inner.StreamConsumerGroupSetPosition(ToInner(key), groupName, position, flags);
public bool StreamCreateConsumerGroup(RedisKey key, RedisValue groupName, RedisValue? position, CommandFlags flags) =>
Inner.StreamCreateConsumerGroup(ToInner(key), groupName, position, flags);
public bool StreamCreateConsumerGroup(RedisKey key, RedisValue groupName, RedisValue? position = null, bool createStream = true, CommandFlags flags = CommandFlags.None) =>
Inner.StreamCreateConsumerGroup(ToInner(key), groupName, position, createStream, flags);
public StreamInfo StreamInfo(RedisKey key, CommandFlags flags = CommandFlags.None) =>
Inner.StreamInfo(ToInner(key), flags);
public StreamGroupInfo[] StreamGroupInfo(RedisKey key, CommandFlags flags = CommandFlags.None) =>
Inner.StreamGroupInfo(ToInner(key), flags);
public StreamConsumerInfo[] StreamConsumerInfo(RedisKey key, RedisValue groupName, CommandFlags flags = CommandFlags.None) =>
Inner.StreamConsumerInfo(ToInner(key), groupName, flags);
public long StreamLength(RedisKey key, CommandFlags flags = CommandFlags.None) =>
Inner.StreamLength(ToInner(key), flags);
public long StreamDelete(RedisKey key, RedisValue[] messageIds, CommandFlags flags = CommandFlags.None) =>
Inner.StreamDelete(ToInner(key), messageIds, flags);
public long StreamDeleteConsumer(RedisKey key, RedisValue groupName, RedisValue consumerName, CommandFlags flags = CommandFlags.None) =>
Inner.StreamDeleteConsumer(ToInner(key), groupName, consumerName, flags);
public bool StreamDeleteConsumerGroup(RedisKey key, RedisValue groupName, CommandFlags flags = CommandFlags.None) =>
Inner.StreamDeleteConsumerGroup(ToInner(key), groupName, flags);
public StreamPendingInfo StreamPending(RedisKey key, RedisValue groupName, CommandFlags flags = CommandFlags.None) =>
Inner.StreamPending(ToInner(key), groupName, flags);
public StreamPendingMessageInfo[] StreamPendingMessages(RedisKey key, RedisValue groupName, int count, RedisValue consumerName, RedisValue? minId = null, RedisValue? maxId = null, CommandFlags flags = CommandFlags.None) =>
Inner.StreamPendingMessages(ToInner(key), groupName, count, consumerName, minId, maxId, flags);
public StreamEntry[] StreamRange(RedisKey key, RedisValue? minId = null, RedisValue? maxId = null, int? count = null, Order messageOrder = Order.Ascending, CommandFlags flags = CommandFlags.None) =>
Inner.StreamRange(ToInner(key), minId, maxId, count, messageOrder, flags);
public StreamEntry[] StreamRead(RedisKey key, RedisValue position, int? count = null, CommandFlags flags = CommandFlags.None) =>
Inner.StreamRead(ToInner(key), position, count, flags);
public RedisStream[] StreamRead(StreamPosition[] streamPositions, int? countPerStream = null, CommandFlags flags = CommandFlags.None) =>
Inner.StreamRead(streamPositions, countPerStream, flags);
public StreamEntry[] StreamReadGroup(RedisKey key, RedisValue groupName, RedisValue consumerName, RedisValue? position, int? count, CommandFlags flags) =>
Inner.StreamReadGroup(ToInner(key), groupName, consumerName, position, count, flags);
public StreamEntry[] StreamReadGroup(RedisKey key, RedisValue groupName, RedisValue consumerName, RedisValue? position = null, int? count = null, bool noAck = false, CommandFlags flags = CommandFlags.None) =>
Inner.StreamReadGroup(ToInner(key), groupName, consumerName, position, count, noAck, flags);
public RedisStream[] StreamReadGroup(StreamPosition[] streamPositions, RedisValue groupName, RedisValue consumerName, int? countPerStream, CommandFlags flags) =>
Inner.StreamReadGroup(streamPositions, groupName, consumerName, countPerStream, flags);
public RedisStream[] StreamReadGroup(StreamPosition[] streamPositions, RedisValue groupName, RedisValue consumerName, int? countPerStream = null, bool noAck = false, CommandFlags flags = CommandFlags.None) =>
Inner.StreamReadGroup(streamPositions, groupName, consumerName, countPerStream, noAck, flags);
public long StreamTrim(RedisKey key, int maxLength, bool useApproximateMaxLength = false, CommandFlags flags = CommandFlags.None) =>
Inner.StreamTrim(ToInner(key), maxLength, useApproximateMaxLength, flags);
public long StringAppend(RedisKey key, RedisValue value, CommandFlags flags = CommandFlags.None) =>
Inner.StringAppend(ToInner(key), value, flags);
public long StringBitCount(RedisKey key, long start, long end, CommandFlags flags) =>
Inner.StringBitCount(ToInner(key), start, end, flags);
public long StringBitCount(RedisKey key, long start = 0, long end = -1, StringIndexType indexType = StringIndexType.Byte, CommandFlags flags = CommandFlags.None) =>
Inner.StringBitCount(ToInner(key), start, end, indexType, flags);
public long StringBitOperation(Bitwise operation, RedisKey destination, RedisKey[] keys, CommandFlags flags = CommandFlags.None) =>
Inner.StringBitOperation(operation, ToInner(destination), ToInner(keys), flags);
public long StringBitOperation(Bitwise operation, RedisKey destination, RedisKey first, RedisKey second = default, CommandFlags flags = CommandFlags.None) =>
Inner.StringBitOperation(operation, ToInner(destination), ToInner(first), ToInnerOrDefault(second), flags);
public long StringBitPosition(RedisKey key, bool bit, long start, long end, CommandFlags flags) =>
Inner.StringBitPosition(ToInner(key), bit, start, end, flags);
public long StringBitPosition(RedisKey key, bool bit, long start = 0, long end = -1, StringIndexType indexType = StringIndexType.Byte, CommandFlags flags = CommandFlags.None) =>
Inner.StringBitPosition(ToInner(key), bit, start, end, indexType, flags);
public double StringDecrement(RedisKey key, double value, CommandFlags flags = CommandFlags.None) =>
Inner.StringDecrement(ToInner(key), value, flags);
public long StringDecrement(RedisKey key, long value = 1, CommandFlags flags = CommandFlags.None) =>
Inner.StringDecrement(ToInner(key), value, flags);
public RedisValue[] StringGet(RedisKey[] keys, CommandFlags flags = CommandFlags.None) =>
Inner.StringGet(ToInner(keys), flags);
public RedisValue StringGet(RedisKey key, CommandFlags flags = CommandFlags.None) =>
Inner.StringGet(ToInner(key), flags);
public RedisValue StringGetSetExpiry(RedisKey key, TimeSpan? expiry, CommandFlags flags = CommandFlags.None) =>
Inner.StringGetSetExpiry(ToInner(key), expiry, flags);
public RedisValue StringGetSetExpiry(RedisKey key, DateTime expiry, CommandFlags flags = CommandFlags.None) =>
Inner.StringGetSetExpiry(ToInner(key), expiry, flags);
public Lease<byte>? StringGetLease(RedisKey key, CommandFlags flags = CommandFlags.None) =>
Inner.StringGetLease(ToInner(key), flags);
public bool StringGetBit(RedisKey key, long offset, CommandFlags flags = CommandFlags.None) =>
Inner.StringGetBit(ToInner(key), offset, flags);
public RedisValue StringGetRange(RedisKey key, long start, long end, CommandFlags flags = CommandFlags.None) =>
Inner.StringGetRange(ToInner(key), start, end, flags);
public RedisValue StringGetSet(RedisKey key, RedisValue value, CommandFlags flags = CommandFlags.None) =>
Inner.StringGetSet(ToInner(key), value, flags);
public RedisValue StringGetDelete(RedisKey key, CommandFlags flags = CommandFlags.None) =>
Inner.StringGetDelete(ToInner(key), flags);
public RedisValueWithExpiry StringGetWithExpiry(RedisKey key, CommandFlags flags = CommandFlags.None) =>
Inner.StringGetWithExpiry(ToInner(key), flags);
public double StringIncrement(RedisKey key, double value, CommandFlags flags = CommandFlags.None) =>
Inner.StringIncrement(ToInner(key), value, flags);
public long StringIncrement(RedisKey key, long value = 1, CommandFlags flags = CommandFlags.None) =>
Inner.StringIncrement(ToInner(key), value, flags);
public long StringLength(RedisKey key, CommandFlags flags = CommandFlags.None) =>
Inner.StringLength(ToInner(key), flags);
public bool StringSet(KeyValuePair<RedisKey, RedisValue>[] values, When when = When.Always, CommandFlags flags = CommandFlags.None) =>
Inner.StringSet(ToInner(values), when, flags);
public bool StringSet(RedisKey key, RedisValue value, TimeSpan? expiry, When when) =>
Inner.StringSet(ToInner(key), value, expiry, when);
public bool StringSet(RedisKey key, RedisValue value, TimeSpan? expiry, When when, CommandFlags flags) =>
Inner.StringSet(ToInner(key), value, expiry, when, flags);
public bool StringSet(RedisKey key, RedisValue value, TimeSpan? expiry = null, bool keepTtl = false, When when = When.Always, CommandFlags flags = CommandFlags.None) =>
Inner.StringSet(ToInner(key), value, expiry, keepTtl, when, flags);
public RedisValue StringSetAndGet(RedisKey key, RedisValue value, TimeSpan? expiry, When when, CommandFlags flags) =>
Inner.StringSetAndGet(ToInner(key), value, expiry, when, flags);
public RedisValue StringSetAndGet(RedisKey key, RedisValue value, TimeSpan? expiry = null, bool keepTtl = false, When when = When.Always, CommandFlags flags = CommandFlags.None) =>
Inner.StringSetAndGet(ToInner(key), value, expiry, keepTtl, when, flags);
public bool StringSetBit(RedisKey key, long offset, bool bit, CommandFlags flags = CommandFlags.None) =>
Inner.StringSetBit(ToInner(key), offset, bit, flags);
public RedisValue StringSetRange(RedisKey key, long offset, RedisValue value, CommandFlags flags = CommandFlags.None) =>
Inner.StringSetRange(ToInner(key), offset, value, flags);
public TimeSpan Ping(CommandFlags flags = CommandFlags.None) =>
Inner.Ping(flags);
IEnumerable<HashEntry> IDatabase.HashScan(RedisKey key, RedisValue pattern, int pageSize, CommandFlags flags)
=> Inner.HashScan(ToInner(key), pattern, pageSize, flags);
IEnumerable<HashEntry> IDatabase.HashScan(RedisKey key, RedisValue pattern, int pageSize, long cursor, int pageOffset, CommandFlags flags)
=> Inner.HashScan(ToInner(key), pattern, pageSize, cursor, pageOffset, flags);
IEnumerable<RedisValue> IDatabase.HashScanNoValues(RedisKey key, RedisValue pattern, int pageSize, CommandFlags flags)
=> Inner.HashScanNoValues(ToInner(key), pattern, pageSize, flags);
IEnumerable<RedisValue> IDatabase.HashScanNoValues(RedisKey key, RedisValue pattern, int pageSize, long cursor, int pageOffset, CommandFlags flags)
=> Inner.HashScanNoValues(ToInner(key), pattern, pageSize, cursor, pageOffset, flags);
IEnumerable<RedisValue> IDatabase.SetScan(RedisKey key, RedisValue pattern, int pageSize, CommandFlags flags)
=> Inner.SetScan(ToInner(key), pattern, pageSize, flags);
IEnumerable<RedisValue> IDatabase.SetScan(RedisKey key, RedisValue pattern, int pageSize, long cursor, int pageOffset, CommandFlags flags)
=> Inner.SetScan(ToInner(key), pattern, pageSize, cursor, pageOffset, flags);
IEnumerable<SortedSetEntry> IDatabase.SortedSetScan(RedisKey key, RedisValue pattern, int pageSize, CommandFlags flags)
=> Inner.SortedSetScan(ToInner(key), pattern, pageSize, flags);
IEnumerable<SortedSetEntry> IDatabase.SortedSetScan(RedisKey key, RedisValue pattern, int pageSize, long cursor, int pageOffset, CommandFlags flags)
=> Inner.SortedSetScan(ToInner(key), pattern, pageSize, cursor, pageOffset, flags);
public bool KeyTouch(RedisKey key, CommandFlags flags = CommandFlags.None) =>
Inner.KeyTouch(ToInner(key), flags);
public long KeyTouch(RedisKey[] keys, CommandFlags flags = CommandFlags.None) =>
Inner.KeyTouch(ToInner(keys), flags);
}
}