redis 6.4.0__py3-none-any.whl → 7.0.0b1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
redis/commands/core.py CHANGED
@@ -71,7 +71,7 @@ class ACLCommands(CommandsProtocol):
71
71
  If ``category`` is supplied, returns a list of all commands within
72
72
  that category.
73
73
 
74
- For more information see https://redis.io/commands/acl-cat
74
+ For more information, see https://redis.io/commands/acl-cat
75
75
  """
76
76
  pieces: list[EncodableT] = [category] if category else []
77
77
  return self.execute_command("ACL CAT", *pieces, **kwargs)
@@ -80,7 +80,7 @@ class ACLCommands(CommandsProtocol):
80
80
  """
81
81
  Simulate the execution of a given command by a given ``username``.
82
82
 
83
- For more information see https://redis.io/commands/acl-dryrun
83
+ For more information, see https://redis.io/commands/acl-dryrun
84
84
  """
85
85
  return self.execute_command("ACL DRYRUN", username, *args, **kwargs)
86
86
 
@@ -88,7 +88,7 @@ class ACLCommands(CommandsProtocol):
88
88
  """
89
89
  Delete the ACL for the specified ``username``\\s
90
90
 
91
- For more information see https://redis.io/commands/acl-deluser
91
+ For more information, see https://redis.io/commands/acl-deluser
92
92
  """
93
93
  return self.execute_command("ACL DELUSER", *username, **kwargs)
94
94
 
@@ -117,7 +117,7 @@ class ACLCommands(CommandsProtocol):
117
117
 
118
118
  If ``username`` does not exist, return None
119
119
 
120
- For more information see https://redis.io/commands/acl-getuser
120
+ For more information, see https://redis.io/commands/acl-getuser
121
121
  """
122
122
  return self.execute_command("ACL GETUSER", username, **kwargs)
123
123
 
@@ -125,7 +125,7 @@ class ACLCommands(CommandsProtocol):
125
125
  """The ACL HELP command returns helpful text describing
126
126
  the different subcommands.
127
127
 
128
- For more information see https://redis.io/commands/acl-help
128
+ For more information, see https://redis.io/commands/acl-help
129
129
  """
130
130
  return self.execute_command("ACL HELP", **kwargs)
131
131
 
@@ -133,7 +133,7 @@ class ACLCommands(CommandsProtocol):
133
133
  """
134
134
  Return a list of all ACLs on the server
135
135
 
136
- For more information see https://redis.io/commands/acl-list
136
+ For more information, see https://redis.io/commands/acl-list
137
137
  """
138
138
  return self.execute_command("ACL LIST", **kwargs)
139
139
 
@@ -143,7 +143,7 @@ class ACLCommands(CommandsProtocol):
143
143
  :param int count: Get logs[0:count].
144
144
  :rtype: List.
145
145
 
146
- For more information see https://redis.io/commands/acl-log
146
+ For more information, see https://redis.io/commands/acl-log
147
147
  """
148
148
  args = []
149
149
  if count is not None:
@@ -158,7 +158,7 @@ class ACLCommands(CommandsProtocol):
158
158
  Reset ACL logs.
159
159
  :rtype: Boolean.
160
160
 
161
- For more information see https://redis.io/commands/acl-log
161
+ For more information, see https://redis.io/commands/acl-log
162
162
  """
163
163
  args = [b"RESET"]
164
164
  return self.execute_command("ACL LOG", *args, **kwargs)
@@ -170,7 +170,7 @@ class ACLCommands(CommandsProtocol):
170
170
  Note that the server must be configured with the ``aclfile``
171
171
  directive to be able to load ACL rules from an aclfile.
172
172
 
173
- For more information see https://redis.io/commands/acl-load
173
+ For more information, see https://redis.io/commands/acl-load
174
174
  """
175
175
  return self.execute_command("ACL LOAD", **kwargs)
176
176
 
@@ -181,7 +181,7 @@ class ACLCommands(CommandsProtocol):
181
181
  Note that the server must be configured with the ``aclfile``
182
182
  directive to be able to save ACL rules to an aclfile.
183
183
 
184
- For more information see https://redis.io/commands/acl-save
184
+ For more information, see https://redis.io/commands/acl-save
185
185
  """
186
186
  return self.execute_command("ACL SAVE", **kwargs)
187
187
 
@@ -379,14 +379,14 @@ class ACLCommands(CommandsProtocol):
379
379
  def acl_users(self, **kwargs) -> ResponseT:
380
380
  """Returns a list of all registered users on the server.
381
381
 
382
- For more information see https://redis.io/commands/acl-users
382
+ For more information, see https://redis.io/commands/acl-users
383
383
  """
384
384
  return self.execute_command("ACL USERS", **kwargs)
385
385
 
386
386
  def acl_whoami(self, **kwargs) -> ResponseT:
387
387
  """Get the username for the current connection
388
388
 
389
- For more information see https://redis.io/commands/acl-whoami
389
+ For more information, see https://redis.io/commands/acl-whoami
390
390
  """
391
391
  return self.execute_command("ACL WHOAMI", **kwargs)
392
392
 
@@ -404,7 +404,7 @@ class ManagementCommands(CommandsProtocol):
404
404
  Authenticates the user. If you do not pass username, Redis will try to
405
405
  authenticate for the "default" user. If you do pass username, it will
406
406
  authenticate for the given user.
407
- For more information see https://redis.io/commands/auth
407
+ For more information, see https://redis.io/commands/auth
408
408
  """
409
409
  pieces = []
410
410
  if username is not None:
@@ -415,7 +415,7 @@ class ManagementCommands(CommandsProtocol):
415
415
  def bgrewriteaof(self, **kwargs):
416
416
  """Tell the Redis server to rewrite the AOF file from data in memory.
417
417
 
418
- For more information see https://redis.io/commands/bgrewriteaof
418
+ For more information, see https://redis.io/commands/bgrewriteaof
419
419
  """
420
420
  return self.execute_command("BGREWRITEAOF", **kwargs)
421
421
 
@@ -424,7 +424,7 @@ class ManagementCommands(CommandsProtocol):
424
424
  Tell the Redis server to save its data to disk. Unlike save(),
425
425
  this method is asynchronous and returns immediately.
426
426
 
427
- For more information see https://redis.io/commands/bgsave
427
+ For more information, see https://redis.io/commands/bgsave
428
428
  """
429
429
  pieces = []
430
430
  if schedule:
@@ -437,14 +437,14 @@ class ManagementCommands(CommandsProtocol):
437
437
  the context of replication, by returning if the instance
438
438
  is currently a master, slave, or sentinel.
439
439
 
440
- For more information see https://redis.io/commands/role
440
+ For more information, see https://redis.io/commands/role
441
441
  """
442
442
  return self.execute_command("ROLE")
443
443
 
444
444
  def client_kill(self, address: str, **kwargs) -> ResponseT:
445
445
  """Disconnects the client at ``address`` (ip:port)
446
446
 
447
- For more information see https://redis.io/commands/client-kill
447
+ For more information, see https://redis.io/commands/client-kill
448
448
  """
449
449
  return self.execute_command("CLIENT KILL", address, **kwargs)
450
450
 
@@ -507,7 +507,7 @@ class ManagementCommands(CommandsProtocol):
507
507
  Returns information and statistics about the current
508
508
  client connection.
509
509
 
510
- For more information see https://redis.io/commands/client-info
510
+ For more information, see https://redis.io/commands/client-info
511
511
  """
512
512
  return self.execute_command("CLIENT INFO", **kwargs)
513
513
 
@@ -522,7 +522,7 @@ class ManagementCommands(CommandsProtocol):
522
522
  replica, pubsub)
523
523
  :param client_id: optional. a list of client ids
524
524
 
525
- For more information see https://redis.io/commands/client-list
525
+ For more information, see https://redis.io/commands/client-list
526
526
  """
527
527
  args = []
528
528
  if _type is not None:
@@ -542,7 +542,7 @@ class ManagementCommands(CommandsProtocol):
542
542
  """
543
543
  Returns the current connection name
544
544
 
545
- For more information see https://redis.io/commands/client-getname
545
+ For more information, see https://redis.io/commands/client-getname
546
546
  """
547
547
  return self.execute_command("CLIENT GETNAME", **kwargs)
548
548
 
@@ -583,7 +583,7 @@ class ManagementCommands(CommandsProtocol):
583
583
  """
584
584
  Returns the current connection id
585
585
 
586
- For more information see https://redis.io/commands/client-id
586
+ For more information, see https://redis.io/commands/client-id
587
587
  """
588
588
  return self.execute_command("CLIENT ID", **kwargs)
589
589
 
@@ -598,7 +598,7 @@ class ManagementCommands(CommandsProtocol):
598
598
  ) -> ResponseT:
599
599
  """
600
600
  Turn on the tracking mode.
601
- For more information about the options look at client_tracking func.
601
+ For more information, about the options look at client_tracking func.
602
602
 
603
603
  See https://redis.io/commands/client-tracking
604
604
  """
@@ -617,7 +617,7 @@ class ManagementCommands(CommandsProtocol):
617
617
  ) -> ResponseT:
618
618
  """
619
619
  Turn off the tracking mode.
620
- For more information about the options look at client_tracking func.
620
+ For more information, about the options look at client_tracking func.
621
621
 
622
622
  See https://redis.io/commands/client-tracking
623
623
  """
@@ -640,7 +640,7 @@ class ManagementCommands(CommandsProtocol):
640
640
  Enables the tracking feature of the Redis server, that is used
641
641
  for server assisted client side caching.
642
642
 
643
- ``on`` indicate for tracking on or tracking off. The dafualt is on.
643
+ ``on`` indicate for tracking on or tracking off. The default is on.
644
644
 
645
645
  ``clientid`` send invalidation messages to the connection with
646
646
  the specified ID.
@@ -698,7 +698,7 @@ class ManagementCommands(CommandsProtocol):
698
698
  """
699
699
  Sets the current connection name
700
700
 
701
- For more information see https://redis.io/commands/client-setname
701
+ For more information, see https://redis.io/commands/client-setname
702
702
 
703
703
  .. note::
704
704
  This method sets client name only for **current** connection.
@@ -724,7 +724,7 @@ class ManagementCommands(CommandsProtocol):
724
724
  If ``error`` is False (default), the client is unblocked using the
725
725
  regular timeout mechanism.
726
726
 
727
- For more information see https://redis.io/commands/client-unblock
727
+ For more information, see https://redis.io/commands/client-unblock
728
728
  """
729
729
  args = ["CLIENT UNBLOCK", int(client_id)]
730
730
  if error:
@@ -736,7 +736,7 @@ class ManagementCommands(CommandsProtocol):
736
736
  Suspend all the Redis clients for the specified amount of time.
737
737
 
738
738
 
739
- For more information see https://redis.io/commands/client-pause
739
+ For more information, see https://redis.io/commands/client-pause
740
740
 
741
741
  Args:
742
742
  timeout: milliseconds to pause clients
@@ -763,7 +763,7 @@ class ManagementCommands(CommandsProtocol):
763
763
  """
764
764
  Unpause all redis clients
765
765
 
766
- For more information see https://redis.io/commands/client-unpause
766
+ For more information, see https://redis.io/commands/client-unpause
767
767
  """
768
768
  return self.execute_command("CLIENT UNPAUSE", **kwargs)
769
769
 
@@ -771,7 +771,7 @@ class ManagementCommands(CommandsProtocol):
771
771
  """
772
772
  Sets the client eviction mode for the current connection.
773
773
 
774
- For more information see https://redis.io/commands/client-no-evict
774
+ For more information, see https://redis.io/commands/client-no-evict
775
775
  """
776
776
  return self.execute_command("CLIENT NO-EVICT", mode)
777
777
 
@@ -782,7 +782,7 @@ class ManagementCommands(CommandsProtocol):
782
782
  # When turned on, the current client will not change LFU/LRU stats,
783
783
  # unless it sends the TOUCH command.
784
784
 
785
- For more information see https://redis.io/commands/client-no-touch
785
+ For more information, see https://redis.io/commands/client-no-touch
786
786
  """
787
787
  return self.execute_command("CLIENT NO-TOUCH", mode)
788
788
 
@@ -790,7 +790,7 @@ class ManagementCommands(CommandsProtocol):
790
790
  """
791
791
  Returns dict reply of details about all Redis commands.
792
792
 
793
- For more information see https://redis.io/commands/command
793
+ For more information, see https://redis.io/commands/command
794
794
  """
795
795
  return self.execute_command("COMMAND", **kwargs)
796
796
 
@@ -815,7 +815,7 @@ class ManagementCommands(CommandsProtocol):
815
815
  ``category``: get the commands in the ACL category
816
816
  ``pattern``: get the commands that match the given pattern
817
817
 
818
- For more information see https://redis.io/commands/command-list/
818
+ For more information, see https://redis.io/commands/command-list/
819
819
  """
820
820
  pieces = []
821
821
  if module is not None:
@@ -834,7 +834,7 @@ class ManagementCommands(CommandsProtocol):
834
834
  """
835
835
  Returns array of keys from a full Redis command and their usage flags.
836
836
 
837
- For more information see https://redis.io/commands/command-getkeysandflags
837
+ For more information, see https://redis.io/commands/command-getkeysandflags
838
838
  """
839
839
  return self.execute_command("COMMAND GETKEYSANDFLAGS", *args)
840
840
 
@@ -853,7 +853,7 @@ class ManagementCommands(CommandsProtocol):
853
853
  """
854
854
  Return a dictionary of configuration based on the ``pattern``
855
855
 
856
- For more information see https://redis.io/commands/config-get
856
+ For more information, see https://redis.io/commands/config-get
857
857
  """
858
858
  return self.execute_command("CONFIG GET", pattern, *args, **kwargs)
859
859
 
@@ -866,7 +866,7 @@ class ManagementCommands(CommandsProtocol):
866
866
  ) -> ResponseT:
867
867
  """Set config item ``name`` with ``value``
868
868
 
869
- For more information see https://redis.io/commands/config-set
869
+ For more information, see https://redis.io/commands/config-set
870
870
  """
871
871
  return self.execute_command("CONFIG SET", name, value, *args, **kwargs)
872
872
 
@@ -874,7 +874,7 @@ class ManagementCommands(CommandsProtocol):
874
874
  """
875
875
  Reset runtime statistics
876
876
 
877
- For more information see https://redis.io/commands/config-resetstat
877
+ For more information, see https://redis.io/commands/config-resetstat
878
878
  """
879
879
  return self.execute_command("CONFIG RESETSTAT", **kwargs)
880
880
 
@@ -882,7 +882,7 @@ class ManagementCommands(CommandsProtocol):
882
882
  """
883
883
  Rewrite config file with the minimal change to reflect running config.
884
884
 
885
- For more information see https://redis.io/commands/config-rewrite
885
+ For more information, see https://redis.io/commands/config-rewrite
886
886
  """
887
887
  return self.execute_command("CONFIG REWRITE", **kwargs)
888
888
 
@@ -890,7 +890,7 @@ class ManagementCommands(CommandsProtocol):
890
890
  """
891
891
  Returns the number of keys in the current database
892
892
 
893
- For more information see https://redis.io/commands/dbsize
893
+ For more information, see https://redis.io/commands/dbsize
894
894
  """
895
895
  return self.execute_command("DBSIZE", **kwargs)
896
896
 
@@ -898,7 +898,7 @@ class ManagementCommands(CommandsProtocol):
898
898
  """
899
899
  Returns version specific meta information about a given key
900
900
 
901
- For more information see https://redis.io/commands/debug-object
901
+ For more information, see https://redis.io/commands/debug-object
902
902
  """
903
903
  return self.execute_command("DEBUG OBJECT", key, **kwargs)
904
904
 
@@ -907,7 +907,7 @@ class ManagementCommands(CommandsProtocol):
907
907
  """
908
908
  DEBUG SEGFAULT is intentionally not implemented in the client.
909
909
 
910
- For more information see https://redis.io/commands/debug-segfault
910
+ For more information, see https://redis.io/commands/debug-segfault
911
911
  """
912
912
  )
913
913
 
@@ -915,7 +915,7 @@ class ManagementCommands(CommandsProtocol):
915
915
  """
916
916
  Echo the string back from the server
917
917
 
918
- For more information see https://redis.io/commands/echo
918
+ For more information, see https://redis.io/commands/echo
919
919
  """
920
920
  return self.execute_command("ECHO", value, **kwargs)
921
921
 
@@ -926,7 +926,7 @@ class ManagementCommands(CommandsProtocol):
926
926
  ``asynchronous`` indicates whether the operation is
927
927
  executed asynchronously by the server.
928
928
 
929
- For more information see https://redis.io/commands/flushall
929
+ For more information, see https://redis.io/commands/flushall
930
930
  """
931
931
  args = []
932
932
  if asynchronous:
@@ -940,7 +940,7 @@ class ManagementCommands(CommandsProtocol):
940
940
  ``asynchronous`` indicates whether the operation is
941
941
  executed asynchronously by the server.
942
942
 
943
- For more information see https://redis.io/commands/flushdb
943
+ For more information, see https://redis.io/commands/flushdb
944
944
  """
945
945
  args = []
946
946
  if asynchronous:
@@ -951,7 +951,7 @@ class ManagementCommands(CommandsProtocol):
951
951
  """
952
952
  Initiates a replication stream from the master.
953
953
 
954
- For more information see https://redis.io/commands/sync
954
+ For more information, see https://redis.io/commands/sync
955
955
  """
956
956
  from redis.client import NEVER_DECODE
957
957
 
@@ -964,7 +964,7 @@ class ManagementCommands(CommandsProtocol):
964
964
  Initiates a replication stream from the master.
965
965
  Newer version for `sync`.
966
966
 
967
- For more information see https://redis.io/commands/sync
967
+ For more information, see https://redis.io/commands/sync
968
968
  """
969
969
  from redis.client import NEVER_DECODE
970
970
 
@@ -976,7 +976,7 @@ class ManagementCommands(CommandsProtocol):
976
976
  """
977
977
  Swap two databases
978
978
 
979
- For more information see https://redis.io/commands/swapdb
979
+ For more information, see https://redis.io/commands/swapdb
980
980
  """
981
981
  return self.execute_command("SWAPDB", first, second, **kwargs)
982
982
 
@@ -999,7 +999,7 @@ class ManagementCommands(CommandsProtocol):
999
999
  The section option is not supported by older versions of Redis Server,
1000
1000
  and will generate ResponseError
1001
1001
 
1002
- For more information see https://redis.io/commands/info
1002
+ For more information, see https://redis.io/commands/info
1003
1003
  """
1004
1004
  if section is None:
1005
1005
  return self.execute_command("INFO", **kwargs)
@@ -1011,35 +1011,35 @@ class ManagementCommands(CommandsProtocol):
1011
1011
  Return a Python datetime object representing the last time the
1012
1012
  Redis database was saved to disk
1013
1013
 
1014
- For more information see https://redis.io/commands/lastsave
1014
+ For more information, see https://redis.io/commands/lastsave
1015
1015
  """
1016
1016
  return self.execute_command("LASTSAVE", **kwargs)
1017
1017
 
1018
1018
  def latency_doctor(self):
1019
1019
  """Raise a NotImplementedError, as the client will not support LATENCY DOCTOR.
1020
- This funcion is best used within the redis-cli.
1020
+ This function is best used within the redis-cli.
1021
1021
 
1022
- For more information see https://redis.io/commands/latency-doctor
1022
+ For more information, see https://redis.io/commands/latency-doctor
1023
1023
  """
1024
1024
  raise NotImplementedError(
1025
1025
  """
1026
1026
  LATENCY DOCTOR is intentionally not implemented in the client.
1027
1027
 
1028
- For more information see https://redis.io/commands/latency-doctor
1028
+ For more information, see https://redis.io/commands/latency-doctor
1029
1029
  """
1030
1030
  )
1031
1031
 
1032
1032
  def latency_graph(self):
1033
1033
  """Raise a NotImplementedError, as the client will not support LATENCY GRAPH.
1034
- This funcion is best used within the redis-cli.
1034
+ This function is best used within the redis-cli.
1035
1035
 
1036
- For more information see https://redis.io/commands/latency-graph.
1036
+ For more information, see https://redis.io/commands/latency-graph.
1037
1037
  """
1038
1038
  raise NotImplementedError(
1039
1039
  """
1040
1040
  LATENCY GRAPH is intentionally not implemented in the client.
1041
1041
 
1042
- For more information see https://redis.io/commands/latency-graph
1042
+ For more information, see https://redis.io/commands/latency-graph
1043
1043
  """
1044
1044
  )
1045
1045
 
@@ -1055,7 +1055,7 @@ class ManagementCommands(CommandsProtocol):
1055
1055
  return self.execute_command("LOLWUT", **kwargs)
1056
1056
 
1057
1057
  def reset(self) -> ResponseT:
1058
- """Perform a full reset on the connection's server side contenxt.
1058
+ """Perform a full reset on the connection's server-side context.
1059
1059
 
1060
1060
  See: https://redis.io/commands/reset
1061
1061
  """
@@ -1090,7 +1090,7 @@ class ManagementCommands(CommandsProtocol):
1090
1090
  If ``auth`` is specified, authenticate to the destination server with
1091
1091
  the password provided.
1092
1092
 
1093
- For more information see https://redis.io/commands/migrate
1093
+ For more information, see https://redis.io/commands/migrate
1094
1094
  """
1095
1095
  keys = list_or_args(keys, [])
1096
1096
  if not keys:
@@ -1122,7 +1122,7 @@ class ManagementCommands(CommandsProtocol):
1122
1122
  """
1123
1123
  MEMORY DOCTOR is intentionally not implemented in the client.
1124
1124
 
1125
- For more information see https://redis.io/commands/memory-doctor
1125
+ For more information, see https://redis.io/commands/memory-doctor
1126
1126
  """
1127
1127
  )
1128
1128
 
@@ -1131,7 +1131,7 @@ class ManagementCommands(CommandsProtocol):
1131
1131
  """
1132
1132
  MEMORY HELP is intentionally not implemented in the client.
1133
1133
 
1134
- For more information see https://redis.io/commands/memory-help
1134
+ For more information, see https://redis.io/commands/memory-help
1135
1135
  """
1136
1136
  )
1137
1137
 
@@ -1139,7 +1139,7 @@ class ManagementCommands(CommandsProtocol):
1139
1139
  """
1140
1140
  Return a dictionary of memory stats
1141
1141
 
1142
- For more information see https://redis.io/commands/memory-stats
1142
+ For more information, see https://redis.io/commands/memory-stats
1143
1143
  """
1144
1144
  return self.execute_command("MEMORY STATS", **kwargs)
1145
1145
 
@@ -1162,7 +1162,7 @@ class ManagementCommands(CommandsProtocol):
1162
1162
  sample. If left unspecified, the server's default is 5. Use 0 to sample
1163
1163
  all elements.
1164
1164
 
1165
- For more information see https://redis.io/commands/memory-usage
1165
+ For more information, see https://redis.io/commands/memory-usage
1166
1166
  """
1167
1167
  args = []
1168
1168
  if isinstance(samples, int):
@@ -1173,7 +1173,7 @@ class ManagementCommands(CommandsProtocol):
1173
1173
  """
1174
1174
  Attempts to purge dirty pages for reclamation by allocator
1175
1175
 
1176
- For more information see https://redis.io/commands/memory-purge
1176
+ For more information, see https://redis.io/commands/memory-purge
1177
1177
  """
1178
1178
  return self.execute_command("MEMORY PURGE", **kwargs)
1179
1179
 
@@ -1190,7 +1190,7 @@ class ManagementCommands(CommandsProtocol):
1190
1190
  """
1191
1191
  Returns the raw data of the ``event``'s latency spikes time series.
1192
1192
 
1193
- For more information see https://redis.io/commands/latency-history
1193
+ For more information, see https://redis.io/commands/latency-history
1194
1194
  """
1195
1195
  return self.execute_command("LATENCY HISTORY", event)
1196
1196
 
@@ -1198,7 +1198,7 @@ class ManagementCommands(CommandsProtocol):
1198
1198
  """
1199
1199
  Reports the latest latency events logged.
1200
1200
 
1201
- For more information see https://redis.io/commands/latency-latest
1201
+ For more information, see https://redis.io/commands/latency-latest
1202
1202
  """
1203
1203
  return self.execute_command("LATENCY LATEST")
1204
1204
 
@@ -1206,7 +1206,7 @@ class ManagementCommands(CommandsProtocol):
1206
1206
  """
1207
1207
  Resets the latency spikes time series of all, or only some, events.
1208
1208
 
1209
- For more information see https://redis.io/commands/latency-reset
1209
+ For more information, see https://redis.io/commands/latency-reset
1210
1210
  """
1211
1211
  return self.execute_command("LATENCY RESET", *events)
1212
1212
 
@@ -1214,7 +1214,7 @@ class ManagementCommands(CommandsProtocol):
1214
1214
  """
1215
1215
  Ping the Redis server
1216
1216
 
1217
- For more information see https://redis.io/commands/ping
1217
+ For more information, see https://redis.io/commands/ping
1218
1218
  """
1219
1219
  return self.execute_command("PING", **kwargs)
1220
1220
 
@@ -1222,7 +1222,7 @@ class ManagementCommands(CommandsProtocol):
1222
1222
  """
1223
1223
  Ask the server to close the connection.
1224
1224
 
1225
- For more information see https://redis.io/commands/quit
1225
+ For more information, see https://redis.io/commands/quit
1226
1226
  """
1227
1227
  return self.execute_command("QUIT", **kwargs)
1228
1228
 
@@ -1235,7 +1235,7 @@ class ManagementCommands(CommandsProtocol):
1235
1235
  NO ONE (set no replication)
1236
1236
  host port (set to the host and port of a redis server)
1237
1237
 
1238
- For more information see https://redis.io/commands/replicaof
1238
+ For more information, see https://redis.io/commands/replicaof
1239
1239
  """
1240
1240
  return self.execute_command("REPLICAOF", *args, **kwargs)
1241
1241
 
@@ -1244,7 +1244,7 @@ class ManagementCommands(CommandsProtocol):
1244
1244
  Tell the Redis server to save its data to disk,
1245
1245
  blocking until the save is complete
1246
1246
 
1247
- For more information see https://redis.io/commands/save
1247
+ For more information, see https://redis.io/commands/save
1248
1248
  """
1249
1249
  return self.execute_command("SAVE", **kwargs)
1250
1250
 
@@ -1268,7 +1268,7 @@ class ManagementCommands(CommandsProtocol):
1268
1268
  ``force`` ignores any errors that would normally prevent the server from exiting
1269
1269
  ``abort`` cancels an ongoing shutdown and cannot be combined with other flags.
1270
1270
 
1271
- For more information see https://redis.io/commands/shutdown
1271
+ For more information, see https://redis.io/commands/shutdown
1272
1272
  """
1273
1273
  if save and nosave:
1274
1274
  raise DataError("SHUTDOWN save and nosave cannot both be set")
@@ -1298,7 +1298,7 @@ class ManagementCommands(CommandsProtocol):
1298
1298
  by the ``host`` and ``port``. If called without arguments, the
1299
1299
  instance is promoted to a master instead.
1300
1300
 
1301
- For more information see https://redis.io/commands/slaveof
1301
+ For more information, see https://redis.io/commands/slaveof
1302
1302
  """
1303
1303
  if host is None and port is None:
1304
1304
  return self.execute_command("SLAVEOF", b"NO", b"ONE", **kwargs)
@@ -1309,7 +1309,7 @@ class ManagementCommands(CommandsProtocol):
1309
1309
  Get the entries from the slowlog. If ``num`` is specified, get the
1310
1310
  most recent ``num`` items.
1311
1311
 
1312
- For more information see https://redis.io/commands/slowlog-get
1312
+ For more information, see https://redis.io/commands/slowlog-get
1313
1313
  """
1314
1314
  from redis.client import NEVER_DECODE
1315
1315
 
@@ -1325,7 +1325,7 @@ class ManagementCommands(CommandsProtocol):
1325
1325
  """
1326
1326
  Get the number of items in the slowlog
1327
1327
 
1328
- For more information see https://redis.io/commands/slowlog-len
1328
+ For more information, see https://redis.io/commands/slowlog-len
1329
1329
  """
1330
1330
  return self.execute_command("SLOWLOG LEN", **kwargs)
1331
1331
 
@@ -1333,7 +1333,7 @@ class ManagementCommands(CommandsProtocol):
1333
1333
  """
1334
1334
  Remove all items in the slowlog
1335
1335
 
1336
- For more information see https://redis.io/commands/slowlog-reset
1336
+ For more information, see https://redis.io/commands/slowlog-reset
1337
1337
  """
1338
1338
  return self.execute_command("SLOWLOG RESET", **kwargs)
1339
1339
 
@@ -1342,7 +1342,7 @@ class ManagementCommands(CommandsProtocol):
1342
1342
  Returns the server time as a 2-item tuple of ints:
1343
1343
  (seconds since epoch, microseconds into this second).
1344
1344
 
1345
- For more information see https://redis.io/commands/time
1345
+ For more information, see https://redis.io/commands/time
1346
1346
  """
1347
1347
  return self.execute_command("TIME", **kwargs)
1348
1348
 
@@ -1353,7 +1353,7 @@ class ManagementCommands(CommandsProtocol):
1353
1353
  we finally have at least ``num_replicas``, or when the ``timeout`` was
1354
1354
  reached.
1355
1355
 
1356
- For more information see https://redis.io/commands/wait
1356
+ For more information, see https://redis.io/commands/wait
1357
1357
  """
1358
1358
  return self.execute_command("WAIT", num_replicas, timeout, **kwargs)
1359
1359
 
@@ -1366,7 +1366,7 @@ class ManagementCommands(CommandsProtocol):
1366
1366
  to the AOF of the local Redis and/or at least the specified number
1367
1367
  of replicas.
1368
1368
 
1369
- For more information see https://redis.io/commands/waitaof
1369
+ For more information, see https://redis.io/commands/waitaof
1370
1370
  """
1371
1371
  return self.execute_command(
1372
1372
  "WAITAOF", num_local, num_replicas, timeout, **kwargs
@@ -1419,7 +1419,7 @@ class AsyncManagementCommands(ManagementCommands):
1419
1419
  configured. If the "nosave" option is set, no data flush will be
1420
1420
  attempted. The "save" and "nosave" options cannot both be set.
1421
1421
 
1422
- For more information see https://redis.io/commands/shutdown
1422
+ For more information, see https://redis.io/commands/shutdown
1423
1423
  """
1424
1424
  if save and nosave:
1425
1425
  raise DataError("SHUTDOWN save and nosave cannot both be set")
@@ -1565,7 +1565,7 @@ class BasicKeyCommands(CommandsProtocol):
1565
1565
  doesn't already exist, create it with a value of ``value``.
1566
1566
  Returns the new length of the value at ``key``.
1567
1567
 
1568
- For more information see https://redis.io/commands/append
1568
+ For more information, see https://redis.io/commands/append
1569
1569
  """
1570
1570
  return self.execute_command("APPEND", key, value)
1571
1571
 
@@ -1580,7 +1580,7 @@ class BasicKeyCommands(CommandsProtocol):
1580
1580
  Returns the count of set bits in the value of ``key``. Optional
1581
1581
  ``start`` and ``end`` parameters indicate which bytes to consider
1582
1582
 
1583
- For more information see https://redis.io/commands/bitcount
1583
+ For more information, see https://redis.io/commands/bitcount
1584
1584
  """
1585
1585
  params = [key]
1586
1586
  if start is not None and end is not None:
@@ -1601,7 +1601,7 @@ class BasicKeyCommands(CommandsProtocol):
1601
1601
  Return a BitFieldOperation instance to conveniently construct one or
1602
1602
  more bitfield operations on ``key``.
1603
1603
 
1604
- For more information see https://redis.io/commands/bitfield
1604
+ For more information, see https://redis.io/commands/bitfield
1605
1605
  """
1606
1606
  return BitFieldOperation(self, key, default_overflow=default_overflow)
1607
1607
 
@@ -1619,7 +1619,7 @@ class BasicKeyCommands(CommandsProtocol):
1619
1619
  encoding/offset pairs in optional list ``items``
1620
1620
  Read-only variant of the BITFIELD command.
1621
1621
 
1622
- For more information see https://redis.io/commands/bitfield_ro
1622
+ For more information, see https://redis.io/commands/bitfield_ro
1623
1623
  """
1624
1624
  params = [key, "GET", encoding, offset]
1625
1625
 
@@ -1633,7 +1633,7 @@ class BasicKeyCommands(CommandsProtocol):
1633
1633
  Perform a bitwise operation using ``operation`` between ``keys`` and
1634
1634
  store the result in ``dest``.
1635
1635
 
1636
- For more information see https://redis.io/commands/bitop
1636
+ For more information, see https://redis.io/commands/bitop
1637
1637
  """
1638
1638
  return self.execute_command("BITOP", operation, dest, *keys)
1639
1639
 
@@ -1651,7 +1651,7 @@ class BasicKeyCommands(CommandsProtocol):
1651
1651
  as a range of bytes and not a range of bits, so start=0 and end=2
1652
1652
  means to look at the first three bytes.
1653
1653
 
1654
- For more information see https://redis.io/commands/bitpos
1654
+ For more information, see https://redis.io/commands/bitpos
1655
1655
  """
1656
1656
  if bit not in (0, 1):
1657
1657
  raise DataError("bit must be 0 or 1")
@@ -1685,7 +1685,7 @@ class BasicKeyCommands(CommandsProtocol):
1685
1685
  copying the value to it. By default, the value is not copied if
1686
1686
  the ``destination`` key already exists.
1687
1687
 
1688
- For more information see https://redis.io/commands/copy
1688
+ For more information, see https://redis.io/commands/copy
1689
1689
  """
1690
1690
  params = [source, destination]
1691
1691
  if destination_db is not None:
@@ -1699,7 +1699,7 @@ class BasicKeyCommands(CommandsProtocol):
1699
1699
  Decrements the value of ``key`` by ``amount``. If no key exists,
1700
1700
  the value will be initialized as 0 - ``amount``
1701
1701
 
1702
- For more information see https://redis.io/commands/decrby
1702
+ For more information, see https://redis.io/commands/decrby
1703
1703
  """
1704
1704
  return self.execute_command("DECRBY", name, amount)
1705
1705
 
@@ -1719,7 +1719,7 @@ class BasicKeyCommands(CommandsProtocol):
1719
1719
  Return a serialized version of the value stored at the specified key.
1720
1720
  If key does not exist a nil bulk reply is returned.
1721
1721
 
1722
- For more information see https://redis.io/commands/dump
1722
+ For more information, see https://redis.io/commands/dump
1723
1723
  """
1724
1724
  from redis.client import NEVER_DECODE
1725
1725
 
@@ -1731,7 +1731,7 @@ class BasicKeyCommands(CommandsProtocol):
1731
1731
  """
1732
1732
  Returns the number of ``names`` that exist
1733
1733
 
1734
- For more information see https://redis.io/commands/exists
1734
+ For more information, see https://redis.io/commands/exists
1735
1735
  """
1736
1736
  return self.execute_command("EXISTS", *names, keys=names)
1737
1737
 
@@ -1757,7 +1757,7 @@ class BasicKeyCommands(CommandsProtocol):
1757
1757
  GT -> Set expiry only when the new expiry is greater than current one
1758
1758
  LT -> Set expiry only when the new expiry is less than current one
1759
1759
 
1760
- For more information see https://redis.io/commands/expire
1760
+ For more information, see https://redis.io/commands/expire
1761
1761
  """
1762
1762
  if isinstance(time, datetime.timedelta):
1763
1763
  time = int(time.total_seconds())
@@ -1794,7 +1794,7 @@ class BasicKeyCommands(CommandsProtocol):
1794
1794
  -> GT -- Set expiry only when the new expiry is greater than current one
1795
1795
  -> LT -- Set expiry only when the new expiry is less than current one
1796
1796
 
1797
- For more information see https://redis.io/commands/expireat
1797
+ For more information, see https://redis.io/commands/expireat
1798
1798
  """
1799
1799
  if isinstance(when, datetime.datetime):
1800
1800
  when = int(when.timestamp())
@@ -1816,7 +1816,7 @@ class BasicKeyCommands(CommandsProtocol):
1816
1816
  Returns the absolute Unix timestamp (since January 1, 1970) in seconds
1817
1817
  at which the given key will expire.
1818
1818
 
1819
- For more information see https://redis.io/commands/expiretime
1819
+ For more information, see https://redis.io/commands/expiretime
1820
1820
  """
1821
1821
  return self.execute_command("EXPIRETIME", key)
1822
1822
 
@@ -1824,7 +1824,7 @@ class BasicKeyCommands(CommandsProtocol):
1824
1824
  """
1825
1825
  Return the value at key ``name``, or None if the key doesn't exist
1826
1826
 
1827
- For more information see https://redis.io/commands/get
1827
+ For more information, see https://redis.io/commands/get
1828
1828
  """
1829
1829
  return self.execute_command("GET", name, keys=[name])
1830
1830
 
@@ -1835,7 +1835,7 @@ class BasicKeyCommands(CommandsProtocol):
1835
1835
  the key on success (if and only if the key's value type
1836
1836
  is a string).
1837
1837
 
1838
- For more information see https://redis.io/commands/getdel
1838
+ For more information, see https://redis.io/commands/getdel
1839
1839
  """
1840
1840
  return self.execute_command("GETDEL", name)
1841
1841
 
@@ -1866,7 +1866,7 @@ class BasicKeyCommands(CommandsProtocol):
1866
1866
 
1867
1867
  ``persist`` remove the time to live associated with ``name``.
1868
1868
 
1869
- For more information see https://redis.io/commands/getex
1869
+ For more information, see https://redis.io/commands/getex
1870
1870
  """
1871
1871
  opset = {ex, px, exat, pxat}
1872
1872
  if len(opset) > 2 or len(opset) > 1 and persist:
@@ -1896,7 +1896,7 @@ class BasicKeyCommands(CommandsProtocol):
1896
1896
  """
1897
1897
  Returns an integer indicating the value of ``offset`` in ``name``
1898
1898
 
1899
- For more information see https://redis.io/commands/getbit
1899
+ For more information, see https://redis.io/commands/getbit
1900
1900
  """
1901
1901
  return self.execute_command("GETBIT", name, offset, keys=[name])
1902
1902
 
@@ -1905,7 +1905,7 @@ class BasicKeyCommands(CommandsProtocol):
1905
1905
  Returns the substring of the string value stored at ``key``,
1906
1906
  determined by the offsets ``start`` and ``end`` (both are inclusive)
1907
1907
 
1908
- For more information see https://redis.io/commands/getrange
1908
+ For more information, see https://redis.io/commands/getrange
1909
1909
  """
1910
1910
  return self.execute_command("GETRANGE", key, start, end, keys=[key])
1911
1911
 
@@ -1917,7 +1917,7 @@ class BasicKeyCommands(CommandsProtocol):
1917
1917
  As per Redis 6.2, GETSET is considered deprecated.
1918
1918
  Please use SET with GET parameter in new code.
1919
1919
 
1920
- For more information see https://redis.io/commands/getset
1920
+ For more information, see https://redis.io/commands/getset
1921
1921
  """
1922
1922
  return self.execute_command("GETSET", name, value)
1923
1923
 
@@ -1926,7 +1926,7 @@ class BasicKeyCommands(CommandsProtocol):
1926
1926
  Increments the value of ``key`` by ``amount``. If no key exists,
1927
1927
  the value will be initialized as ``amount``
1928
1928
 
1929
- For more information see https://redis.io/commands/incrby
1929
+ For more information, see https://redis.io/commands/incrby
1930
1930
  """
1931
1931
  return self.execute_command("INCRBY", name, amount)
1932
1932
 
@@ -1937,7 +1937,7 @@ class BasicKeyCommands(CommandsProtocol):
1937
1937
  Increments the value at key ``name`` by floating ``amount``.
1938
1938
  If no key exists, the value will be initialized as ``amount``
1939
1939
 
1940
- For more information see https://redis.io/commands/incrbyfloat
1940
+ For more information, see https://redis.io/commands/incrbyfloat
1941
1941
  """
1942
1942
  return self.execute_command("INCRBYFLOAT", name, amount)
1943
1943
 
@@ -1945,7 +1945,7 @@ class BasicKeyCommands(CommandsProtocol):
1945
1945
  """
1946
1946
  Returns a list of keys matching ``pattern``
1947
1947
 
1948
- For more information see https://redis.io/commands/keys
1948
+ For more information, see https://redis.io/commands/keys
1949
1949
  """
1950
1950
  return self.execute_command("KEYS", pattern, **kwargs)
1951
1951
 
@@ -1957,7 +1957,7 @@ class BasicKeyCommands(CommandsProtocol):
1957
1957
  pushing it as the first/last element on the destination list.
1958
1958
  Returns the element being popped and pushed.
1959
1959
 
1960
- For more information see https://redis.io/commands/lmove
1960
+ For more information, see https://redis.io/commands/lmove
1961
1961
  """
1962
1962
  params = [first_list, second_list, src, dest]
1963
1963
  return self.execute_command("LMOVE", *params)
@@ -1973,7 +1973,7 @@ class BasicKeyCommands(CommandsProtocol):
1973
1973
  """
1974
1974
  Blocking version of lmove.
1975
1975
 
1976
- For more information see https://redis.io/commands/blmove
1976
+ For more information, see https://redis.io/commands/blmove
1977
1977
  """
1978
1978
  params = [first_list, second_list, src, dest, timeout]
1979
1979
  return self.execute_command("BLMOVE", *params)
@@ -1982,7 +1982,7 @@ class BasicKeyCommands(CommandsProtocol):
1982
1982
  """
1983
1983
  Returns a list of values ordered identically to ``keys``
1984
1984
 
1985
- For more information see https://redis.io/commands/mget
1985
+ For more information, see https://redis.io/commands/mget
1986
1986
  """
1987
1987
  from redis.client import EMPTY_RESPONSE
1988
1988
 
@@ -1999,7 +1999,7 @@ class BasicKeyCommands(CommandsProtocol):
1999
1999
  key/value pairs. Both keys and values should be strings or types that
2000
2000
  can be cast to a string via str().
2001
2001
 
2002
- For more information see https://redis.io/commands/mset
2002
+ For more information, see https://redis.io/commands/mset
2003
2003
  """
2004
2004
  items = []
2005
2005
  for pair in mapping.items():
@@ -2013,7 +2013,7 @@ class BasicKeyCommands(CommandsProtocol):
2013
2013
  should be strings or types that can be cast to a string via str().
2014
2014
  Returns a boolean indicating if the operation was successful.
2015
2015
 
2016
- For more information see https://redis.io/commands/msetnx
2016
+ For more information, see https://redis.io/commands/msetnx
2017
2017
  """
2018
2018
  items = []
2019
2019
  for pair in mapping.items():
@@ -2024,7 +2024,7 @@ class BasicKeyCommands(CommandsProtocol):
2024
2024
  """
2025
2025
  Moves the key ``name`` to a different Redis database ``db``
2026
2026
 
2027
- For more information see https://redis.io/commands/move
2027
+ For more information, see https://redis.io/commands/move
2028
2028
  """
2029
2029
  return self.execute_command("MOVE", name, db)
2030
2030
 
@@ -2032,7 +2032,7 @@ class BasicKeyCommands(CommandsProtocol):
2032
2032
  """
2033
2033
  Removes an expiration on ``name``
2034
2034
 
2035
- For more information see https://redis.io/commands/persist
2035
+ For more information, see https://redis.io/commands/persist
2036
2036
  """
2037
2037
  return self.execute_command("PERSIST", name)
2038
2038
 
@@ -2056,7 +2056,7 @@ class BasicKeyCommands(CommandsProtocol):
2056
2056
  GT -> Set expiry only when the new expiry is greater than current one
2057
2057
  LT -> Set expiry only when the new expiry is less than current one
2058
2058
 
2059
- For more information see https://redis.io/commands/pexpire
2059
+ For more information, see https://redis.io/commands/pexpire
2060
2060
  """
2061
2061
  if isinstance(time, datetime.timedelta):
2062
2062
  time = int(time.total_seconds() * 1000)
@@ -2092,7 +2092,7 @@ class BasicKeyCommands(CommandsProtocol):
2092
2092
  GT -> Set expiry only when the new expiry is greater than current one
2093
2093
  LT -> Set expiry only when the new expiry is less than current one
2094
2094
 
2095
- For more information see https://redis.io/commands/pexpireat
2095
+ For more information, see https://redis.io/commands/pexpireat
2096
2096
  """
2097
2097
  if isinstance(when, datetime.datetime):
2098
2098
  when = int(when.timestamp() * 1000)
@@ -2112,7 +2112,7 @@ class BasicKeyCommands(CommandsProtocol):
2112
2112
  Returns the absolute Unix timestamp (since January 1, 1970) in milliseconds
2113
2113
  at which the given key will expire.
2114
2114
 
2115
- For more information see https://redis.io/commands/pexpiretime
2115
+ For more information, see https://redis.io/commands/pexpiretime
2116
2116
  """
2117
2117
  return self.execute_command("PEXPIRETIME", key)
2118
2118
 
@@ -2122,7 +2122,7 @@ class BasicKeyCommands(CommandsProtocol):
2122
2122
  milliseconds. ``time_ms`` can be represented by an integer or a Python
2123
2123
  timedelta object
2124
2124
 
2125
- For more information see https://redis.io/commands/psetex
2125
+ For more information, see https://redis.io/commands/psetex
2126
2126
  """
2127
2127
  if isinstance(time_ms, datetime.timedelta):
2128
2128
  time_ms = int(time_ms.total_seconds() * 1000)
@@ -2132,7 +2132,7 @@ class BasicKeyCommands(CommandsProtocol):
2132
2132
  """
2133
2133
  Returns the number of milliseconds until the key ``name`` will expire
2134
2134
 
2135
- For more information see https://redis.io/commands/pttl
2135
+ For more information, see https://redis.io/commands/pttl
2136
2136
  """
2137
2137
  return self.execute_command("PTTL", name)
2138
2138
 
@@ -2150,7 +2150,7 @@ class BasicKeyCommands(CommandsProtocol):
2150
2150
  withvalues: The optional WITHVALUES modifier changes the reply so it
2151
2151
  includes the respective values of the randomly selected hash fields.
2152
2152
 
2153
- For more information see https://redis.io/commands/hrandfield
2153
+ For more information, see https://redis.io/commands/hrandfield
2154
2154
  """
2155
2155
  params = []
2156
2156
  if count is not None:
@@ -2164,7 +2164,7 @@ class BasicKeyCommands(CommandsProtocol):
2164
2164
  """
2165
2165
  Returns the name of a random key
2166
2166
 
2167
- For more information see https://redis.io/commands/randomkey
2167
+ For more information, see https://redis.io/commands/randomkey
2168
2168
  """
2169
2169
  return self.execute_command("RANDOMKEY", **kwargs)
2170
2170
 
@@ -2172,7 +2172,7 @@ class BasicKeyCommands(CommandsProtocol):
2172
2172
  """
2173
2173
  Rename key ``src`` to ``dst``
2174
2174
 
2175
- For more information see https://redis.io/commands/rename
2175
+ For more information, see https://redis.io/commands/rename
2176
2176
  """
2177
2177
  return self.execute_command("RENAME", src, dst)
2178
2178
 
@@ -2180,7 +2180,7 @@ class BasicKeyCommands(CommandsProtocol):
2180
2180
  """
2181
2181
  Rename key ``src`` to ``dst`` if ``dst`` doesn't already exist
2182
2182
 
2183
- For more information see https://redis.io/commands/renamenx
2183
+ For more information, see https://redis.io/commands/renamenx
2184
2184
  """
2185
2185
  return self.execute_command("RENAMENX", src, dst)
2186
2186
 
@@ -2211,7 +2211,7 @@ class BasicKeyCommands(CommandsProtocol):
2211
2211
  ``frequency`` Used for eviction, this is the frequency counter of
2212
2212
  the object stored at the key, prior to execution.
2213
2213
 
2214
- For more information see https://redis.io/commands/restore
2214
+ For more information, see https://redis.io/commands/restore
2215
2215
  """
2216
2216
  params = [name, ttl, value]
2217
2217
  if replace:
@@ -2273,7 +2273,7 @@ class BasicKeyCommands(CommandsProtocol):
2273
2273
  ``pxat`` sets an expire flag on key ``name`` for ``ex`` milliseconds,
2274
2274
  specified in unix time.
2275
2275
 
2276
- For more information see https://redis.io/commands/set
2276
+ For more information, see https://redis.io/commands/set
2277
2277
  """
2278
2278
  opset = {ex, px, exat, pxat}
2279
2279
  if len(opset) > 2 or len(opset) > 1 and keepttl:
@@ -2312,7 +2312,7 @@ class BasicKeyCommands(CommandsProtocol):
2312
2312
  Flag the ``offset`` in ``name`` as ``value``. Returns an integer
2313
2313
  indicating the previous value of ``offset``.
2314
2314
 
2315
- For more information see https://redis.io/commands/setbit
2315
+ For more information, see https://redis.io/commands/setbit
2316
2316
  """
2317
2317
  value = value and 1 or 0
2318
2318
  return self.execute_command("SETBIT", name, offset, value)
@@ -2323,7 +2323,7 @@ class BasicKeyCommands(CommandsProtocol):
2323
2323
  seconds. ``time`` can be represented by an integer or a Python
2324
2324
  timedelta object.
2325
2325
 
2326
- For more information see https://redis.io/commands/setex
2326
+ For more information, see https://redis.io/commands/setex
2327
2327
  """
2328
2328
  if isinstance(time, datetime.timedelta):
2329
2329
  time = int(time.total_seconds())
@@ -2333,7 +2333,7 @@ class BasicKeyCommands(CommandsProtocol):
2333
2333
  """
2334
2334
  Set the value of key ``name`` to ``value`` if key doesn't exist
2335
2335
 
2336
- For more information see https://redis.io/commands/setnx
2336
+ For more information, see https://redis.io/commands/setnx
2337
2337
  """
2338
2338
  return self.execute_command("SETNX", name, value)
2339
2339
 
@@ -2348,7 +2348,7 @@ class BasicKeyCommands(CommandsProtocol):
2348
2348
 
2349
2349
  Returns the length of the new string.
2350
2350
 
2351
- For more information see https://redis.io/commands/setrange
2351
+ For more information, see https://redis.io/commands/setrange
2352
2352
  """
2353
2353
  return self.execute_command("SETRANGE", name, offset, value)
2354
2354
 
@@ -2381,7 +2381,7 @@ class BasicKeyCommands(CommandsProtocol):
2381
2381
  ``withmatchlen`` Returns the matches with the len of the match.
2382
2382
  Can be provided only when ``idx`` set to True.
2383
2383
 
2384
- For more information see https://redis.io/commands/stralgo
2384
+ For more information, see https://redis.io/commands/stralgo
2385
2385
  """
2386
2386
  # check validity
2387
2387
  supported_algo = ["LCS"]
@@ -2420,7 +2420,7 @@ class BasicKeyCommands(CommandsProtocol):
2420
2420
  """
2421
2421
  Return the number of bytes stored in the value of ``name``
2422
2422
 
2423
- For more information see https://redis.io/commands/strlen
2423
+ For more information, see https://redis.io/commands/strlen
2424
2424
  """
2425
2425
  return self.execute_command("STRLEN", name, keys=[name])
2426
2426
 
@@ -2436,7 +2436,7 @@ class BasicKeyCommands(CommandsProtocol):
2436
2436
  Alters the last access time of a key(s) ``*args``. A key is ignored
2437
2437
  if it does not exist.
2438
2438
 
2439
- For more information see https://redis.io/commands/touch
2439
+ For more information, see https://redis.io/commands/touch
2440
2440
  """
2441
2441
  return self.execute_command("TOUCH", *args)
2442
2442
 
@@ -2444,7 +2444,7 @@ class BasicKeyCommands(CommandsProtocol):
2444
2444
  """
2445
2445
  Returns the number of seconds until the key ``name`` will expire
2446
2446
 
2447
- For more information see https://redis.io/commands/ttl
2447
+ For more information, see https://redis.io/commands/ttl
2448
2448
  """
2449
2449
  return self.execute_command("TTL", name)
2450
2450
 
@@ -2452,7 +2452,7 @@ class BasicKeyCommands(CommandsProtocol):
2452
2452
  """
2453
2453
  Returns the type of key ``name``
2454
2454
 
2455
- For more information see https://redis.io/commands/type
2455
+ For more information, see https://redis.io/commands/type
2456
2456
  """
2457
2457
  return self.execute_command("TYPE", name, keys=[name])
2458
2458
 
@@ -2460,7 +2460,7 @@ class BasicKeyCommands(CommandsProtocol):
2460
2460
  """
2461
2461
  Watches the values at keys ``names``, or None if the key doesn't exist
2462
2462
 
2463
- For more information see https://redis.io/commands/watch
2463
+ For more information, see https://redis.io/commands/watch
2464
2464
  """
2465
2465
  warnings.warn(DeprecationWarning("Call WATCH from a Pipeline object"))
2466
2466
 
@@ -2468,7 +2468,7 @@ class BasicKeyCommands(CommandsProtocol):
2468
2468
  """
2469
2469
  Unwatches all previously watched keys for a transaction
2470
2470
 
2471
- For more information see https://redis.io/commands/unwatch
2471
+ For more information, see https://redis.io/commands/unwatch
2472
2472
  """
2473
2473
  warnings.warn(DeprecationWarning("Call UNWATCH from a Pipeline object"))
2474
2474
 
@@ -2476,7 +2476,7 @@ class BasicKeyCommands(CommandsProtocol):
2476
2476
  """
2477
2477
  Unlink one or more keys specified by ``names``
2478
2478
 
2479
- For more information see https://redis.io/commands/unlink
2479
+ For more information, see https://redis.io/commands/unlink
2480
2480
  """
2481
2481
  return self.execute_command("UNLINK", *names)
2482
2482
 
@@ -2496,7 +2496,7 @@ class BasicKeyCommands(CommandsProtocol):
2496
2496
  ``minmatchlen`` restrict the list of matches to the ones of
2497
2497
  the given ``minmatchlen``.
2498
2498
  If ``withmatchlen`` the length of the match also will be returned.
2499
- For more information see https://redis.io/commands/lcs
2499
+ For more information, see https://redis.io/commands/lcs
2500
2500
  """
2501
2501
  pieces = [key1, key2]
2502
2502
  if len:
@@ -2549,7 +2549,7 @@ class ListCommands(CommandsProtocol):
2549
2549
 
2550
2550
  If timeout is 0, then block indefinitely.
2551
2551
 
2552
- For more information see https://redis.io/commands/blpop
2552
+ For more information, see https://redis.io/commands/blpop
2553
2553
  """
2554
2554
  if timeout is None:
2555
2555
  timeout = 0
@@ -2570,7 +2570,7 @@ class ListCommands(CommandsProtocol):
2570
2570
 
2571
2571
  If timeout is 0, then block indefinitely.
2572
2572
 
2573
- For more information see https://redis.io/commands/brpop
2573
+ For more information, see https://redis.io/commands/brpop
2574
2574
  """
2575
2575
  if timeout is None:
2576
2576
  timeout = 0
@@ -2589,7 +2589,7 @@ class ListCommands(CommandsProtocol):
2589
2589
  seconds elapse, whichever is first. A ``timeout`` value of 0 blocks
2590
2590
  forever.
2591
2591
 
2592
- For more information see https://redis.io/commands/brpoplpush
2592
+ For more information, see https://redis.io/commands/brpoplpush
2593
2593
  """
2594
2594
  if timeout is None:
2595
2595
  timeout = 0
@@ -2610,7 +2610,7 @@ class ListCommands(CommandsProtocol):
2610
2610
  When all lists are empty this command blocks the connection until another
2611
2611
  client pushes to it or until the timeout, timeout of 0 blocks indefinitely
2612
2612
 
2613
- For more information see https://redis.io/commands/blmpop
2613
+ For more information, see https://redis.io/commands/blmpop
2614
2614
  """
2615
2615
  args = [timeout, numkeys, *args, direction, "COUNT", count]
2616
2616
 
@@ -2627,7 +2627,7 @@ class ListCommands(CommandsProtocol):
2627
2627
  Pop ``count`` values (default 1) first non-empty list key from the list
2628
2628
  of args provided key names.
2629
2629
 
2630
- For more information see https://redis.io/commands/lmpop
2630
+ For more information, see https://redis.io/commands/lmpop
2631
2631
  """
2632
2632
  args = [num_keys] + list(args) + [direction]
2633
2633
  if count != 1:
@@ -2644,7 +2644,7 @@ class ListCommands(CommandsProtocol):
2644
2644
  Negative indexes are supported and will return an item at the
2645
2645
  end of the list
2646
2646
 
2647
- For more information see https://redis.io/commands/lindex
2647
+ For more information, see https://redis.io/commands/lindex
2648
2648
  """
2649
2649
  return self.execute_command("LINDEX", name, index, keys=[name])
2650
2650
 
@@ -2658,7 +2658,7 @@ class ListCommands(CommandsProtocol):
2658
2658
  Returns the new length of the list on success or -1 if ``refvalue``
2659
2659
  is not in the list.
2660
2660
 
2661
- For more information see https://redis.io/commands/linsert
2661
+ For more information, see https://redis.io/commands/linsert
2662
2662
  """
2663
2663
  return self.execute_command("LINSERT", name, where, refvalue, value)
2664
2664
 
@@ -2666,7 +2666,7 @@ class ListCommands(CommandsProtocol):
2666
2666
  """
2667
2667
  Return the length of the list ``name``
2668
2668
 
2669
- For more information see https://redis.io/commands/llen
2669
+ For more information, see https://redis.io/commands/llen
2670
2670
  """
2671
2671
  return self.execute_command("LLEN", name, keys=[name])
2672
2672
 
@@ -2682,7 +2682,7 @@ class ListCommands(CommandsProtocol):
2682
2682
  the list. When provided with the optional ``count`` argument, the reply
2683
2683
  will consist of up to count elements, depending on the list's length.
2684
2684
 
2685
- For more information see https://redis.io/commands/lpop
2685
+ For more information, see https://redis.io/commands/lpop
2686
2686
  """
2687
2687
  if count is not None:
2688
2688
  return self.execute_command("LPOP", name, count)
@@ -2693,7 +2693,7 @@ class ListCommands(CommandsProtocol):
2693
2693
  """
2694
2694
  Push ``values`` onto the head of the list ``name``
2695
2695
 
2696
- For more information see https://redis.io/commands/lpush
2696
+ For more information, see https://redis.io/commands/lpush
2697
2697
  """
2698
2698
  return self.execute_command("LPUSH", name, *values)
2699
2699
 
@@ -2701,7 +2701,7 @@ class ListCommands(CommandsProtocol):
2701
2701
  """
2702
2702
  Push ``value`` onto the head of the list ``name`` if ``name`` exists
2703
2703
 
2704
- For more information see https://redis.io/commands/lpushx
2704
+ For more information, see https://redis.io/commands/lpushx
2705
2705
  """
2706
2706
  return self.execute_command("LPUSHX", name, *values)
2707
2707
 
@@ -2713,7 +2713,7 @@ class ListCommands(CommandsProtocol):
2713
2713
  ``start`` and ``end`` can be negative numbers just like
2714
2714
  Python slicing notation
2715
2715
 
2716
- For more information see https://redis.io/commands/lrange
2716
+ For more information, see https://redis.io/commands/lrange
2717
2717
  """
2718
2718
  return self.execute_command("LRANGE", name, start, end, keys=[name])
2719
2719
 
@@ -2727,7 +2727,7 @@ class ListCommands(CommandsProtocol):
2727
2727
  count < 0: Remove elements equal to value moving from tail to head.
2728
2728
  count = 0: Remove all elements equal to value.
2729
2729
 
2730
- For more information see https://redis.io/commands/lrem
2730
+ For more information, see https://redis.io/commands/lrem
2731
2731
  """
2732
2732
  return self.execute_command("LREM", name, count, value)
2733
2733
 
@@ -2735,7 +2735,7 @@ class ListCommands(CommandsProtocol):
2735
2735
  """
2736
2736
  Set element at ``index`` of list ``name`` to ``value``
2737
2737
 
2738
- For more information see https://redis.io/commands/lset
2738
+ For more information, see https://redis.io/commands/lset
2739
2739
  """
2740
2740
  return self.execute_command("LSET", name, index, value)
2741
2741
 
@@ -2747,7 +2747,7 @@ class ListCommands(CommandsProtocol):
2747
2747
  ``start`` and ``end`` can be negative numbers just like
2748
2748
  Python slicing notation
2749
2749
 
2750
- For more information see https://redis.io/commands/ltrim
2750
+ For more information, see https://redis.io/commands/ltrim
2751
2751
  """
2752
2752
  return self.execute_command("LTRIM", name, start, end)
2753
2753
 
@@ -2763,7 +2763,7 @@ class ListCommands(CommandsProtocol):
2763
2763
  When provided with the optional ``count`` argument, the reply will
2764
2764
  consist of up to count elements, depending on the list's length.
2765
2765
 
2766
- For more information see https://redis.io/commands/rpop
2766
+ For more information, see https://redis.io/commands/rpop
2767
2767
  """
2768
2768
  if count is not None:
2769
2769
  return self.execute_command("RPOP", name, count)
@@ -2775,7 +2775,7 @@ class ListCommands(CommandsProtocol):
2775
2775
  RPOP a value off of the ``src`` list and atomically LPUSH it
2776
2776
  on to the ``dst`` list. Returns the value.
2777
2777
 
2778
- For more information see https://redis.io/commands/rpoplpush
2778
+ For more information, see https://redis.io/commands/rpoplpush
2779
2779
  """
2780
2780
  return self.execute_command("RPOPLPUSH", src, dst)
2781
2781
 
@@ -2783,7 +2783,7 @@ class ListCommands(CommandsProtocol):
2783
2783
  """
2784
2784
  Push ``values`` onto the tail of the list ``name``
2785
2785
 
2786
- For more information see https://redis.io/commands/rpush
2786
+ For more information, see https://redis.io/commands/rpush
2787
2787
  """
2788
2788
  return self.execute_command("RPUSH", name, *values)
2789
2789
 
@@ -2791,7 +2791,7 @@ class ListCommands(CommandsProtocol):
2791
2791
  """
2792
2792
  Push ``value`` onto the tail of the list ``name`` if ``name`` exists
2793
2793
 
2794
- For more information see https://redis.io/commands/rpushx
2794
+ For more information, see https://redis.io/commands/rpushx
2795
2795
  """
2796
2796
  return self.execute_command("RPUSHX", name, *values)
2797
2797
 
@@ -2826,7 +2826,7 @@ class ListCommands(CommandsProtocol):
2826
2826
  position(s) of items within the first 1000 entries in the list.
2827
2827
  A ``maxlen`` of 0 (the default) will scan the entire list.
2828
2828
 
2829
- For more information see https://redis.io/commands/lpos
2829
+ For more information, see https://redis.io/commands/lpos
2830
2830
  """
2831
2831
  pieces: list[EncodableT] = [name, value]
2832
2832
  if rank is not None:
@@ -2875,7 +2875,7 @@ class ListCommands(CommandsProtocol):
2875
2875
  elements, sort will return a list of tuples, each containing the
2876
2876
  values fetched from the arguments to ``get``.
2877
2877
 
2878
- For more information see https://redis.io/commands/sort
2878
+ For more information, see https://redis.io/commands/sort
2879
2879
  """
2880
2880
  if (start is not None and num is None) or (num is not None and start is None):
2881
2881
  raise DataError("``start`` and ``num`` must both be specified")
@@ -2940,7 +2940,7 @@ class ListCommands(CommandsProtocol):
2940
2940
 
2941
2941
  ``alpha`` allows for sorting lexicographically rather than numerically
2942
2942
 
2943
- For more information see https://redis.io/commands/sort_ro
2943
+ For more information, see https://redis.io/commands/sort_ro
2944
2944
  """
2945
2945
  return self.sort(
2946
2946
  key, start=start, num=num, by=by, get=get, desc=desc, alpha=alpha
@@ -2978,7 +2978,7 @@ class ScanCommands(CommandsProtocol):
2978
2978
  HASH, LIST, SET, STREAM, STRING, ZSET
2979
2979
  Additionally, Redis modules can expose other types as well.
2980
2980
 
2981
- For more information see https://redis.io/commands/scan
2981
+ For more information, see https://redis.io/commands/scan
2982
2982
  """
2983
2983
  pieces: list[EncodableT] = [cursor]
2984
2984
  if match is not None:
@@ -3032,7 +3032,7 @@ class ScanCommands(CommandsProtocol):
3032
3032
 
3033
3033
  ``count`` allows for hint the minimum number of returns
3034
3034
 
3035
- For more information see https://redis.io/commands/sscan
3035
+ For more information, see https://redis.io/commands/sscan
3036
3036
  """
3037
3037
  pieces: list[EncodableT] = [name, cursor]
3038
3038
  if match is not None:
@@ -3078,7 +3078,7 @@ class ScanCommands(CommandsProtocol):
3078
3078
 
3079
3079
  ``no_values`` indicates to return only the keys, without values.
3080
3080
 
3081
- For more information see https://redis.io/commands/hscan
3081
+ For more information, see https://redis.io/commands/hscan
3082
3082
  """
3083
3083
  pieces: list[EncodableT] = [name, cursor]
3084
3084
  if match is not None:
@@ -3134,7 +3134,7 @@ class ScanCommands(CommandsProtocol):
3134
3134
 
3135
3135
  ``score_cast_func`` a callable used to cast the score return value
3136
3136
 
3137
- For more information see https://redis.io/commands/zscan
3137
+ For more information, see https://redis.io/commands/zscan
3138
3138
  """
3139
3139
  pieces = [name, cursor]
3140
3140
  if match is not None:
@@ -3294,7 +3294,7 @@ class SetCommands(CommandsProtocol):
3294
3294
  """
3295
3295
  Add ``value(s)`` to set ``name``
3296
3296
 
3297
- For more information see https://redis.io/commands/sadd
3297
+ For more information, see https://redis.io/commands/sadd
3298
3298
  """
3299
3299
  return self.execute_command("SADD", name, *values)
3300
3300
 
@@ -3302,7 +3302,7 @@ class SetCommands(CommandsProtocol):
3302
3302
  """
3303
3303
  Return the number of elements in set ``name``
3304
3304
 
3305
- For more information see https://redis.io/commands/scard
3305
+ For more information, see https://redis.io/commands/scard
3306
3306
  """
3307
3307
  return self.execute_command("SCARD", name, keys=[name])
3308
3308
 
@@ -3310,7 +3310,7 @@ class SetCommands(CommandsProtocol):
3310
3310
  """
3311
3311
  Return the difference of sets specified by ``keys``
3312
3312
 
3313
- For more information see https://redis.io/commands/sdiff
3313
+ For more information, see https://redis.io/commands/sdiff
3314
3314
  """
3315
3315
  args = list_or_args(keys, args)
3316
3316
  return self.execute_command("SDIFF", *args, keys=args)
@@ -3322,7 +3322,7 @@ class SetCommands(CommandsProtocol):
3322
3322
  Store the difference of sets specified by ``keys`` into a new
3323
3323
  set named ``dest``. Returns the number of keys in the new set.
3324
3324
 
3325
- For more information see https://redis.io/commands/sdiffstore
3325
+ For more information, see https://redis.io/commands/sdiffstore
3326
3326
  """
3327
3327
  args = list_or_args(keys, args)
3328
3328
  return self.execute_command("SDIFFSTORE", dest, *args)
@@ -3331,7 +3331,7 @@ class SetCommands(CommandsProtocol):
3331
3331
  """
3332
3332
  Return the intersection of sets specified by ``keys``
3333
3333
 
3334
- For more information see https://redis.io/commands/sinter
3334
+ For more information, see https://redis.io/commands/sinter
3335
3335
  """
3336
3336
  args = list_or_args(keys, args)
3337
3337
  return self.execute_command("SINTER", *args, keys=args)
@@ -3346,7 +3346,7 @@ class SetCommands(CommandsProtocol):
3346
3346
  cardinality reaches limit partway through the computation, the algorithm will
3347
3347
  exit and yield limit as the cardinality
3348
3348
 
3349
- For more information see https://redis.io/commands/sintercard
3349
+ For more information, see https://redis.io/commands/sintercard
3350
3350
  """
3351
3351
  args = [numkeys, *keys, "LIMIT", limit]
3352
3352
  return self.execute_command("SINTERCARD", *args, keys=keys)
@@ -3358,7 +3358,7 @@ class SetCommands(CommandsProtocol):
3358
3358
  Store the intersection of sets specified by ``keys`` into a new
3359
3359
  set named ``dest``. Returns the number of keys in the new set.
3360
3360
 
3361
- For more information see https://redis.io/commands/sinterstore
3361
+ For more information, see https://redis.io/commands/sinterstore
3362
3362
  """
3363
3363
  args = list_or_args(keys, args)
3364
3364
  return self.execute_command("SINTERSTORE", dest, *args)
@@ -3371,7 +3371,7 @@ class SetCommands(CommandsProtocol):
3371
3371
  - 1 if the value is a member of the set.
3372
3372
  - 0 if the value is not a member of the set or if key does not exist.
3373
3373
 
3374
- For more information see https://redis.io/commands/sismember
3374
+ For more information, see https://redis.io/commands/sismember
3375
3375
  """
3376
3376
  return self.execute_command("SISMEMBER", name, value, keys=[name])
3377
3377
 
@@ -3379,7 +3379,7 @@ class SetCommands(CommandsProtocol):
3379
3379
  """
3380
3380
  Return all members of the set ``name``
3381
3381
 
3382
- For more information see https://redis.io/commands/smembers
3382
+ For more information, see https://redis.io/commands/smembers
3383
3383
  """
3384
3384
  return self.execute_command("SMEMBERS", name, keys=[name])
3385
3385
 
@@ -3395,7 +3395,7 @@ class SetCommands(CommandsProtocol):
3395
3395
  - 1 if the value is a member of the set.
3396
3396
  - 0 if the value is not a member of the set or if key does not exist.
3397
3397
 
3398
- For more information see https://redis.io/commands/smismember
3398
+ For more information, see https://redis.io/commands/smismember
3399
3399
  """
3400
3400
  args = list_or_args(values, args)
3401
3401
  return self.execute_command("SMISMEMBER", name, *args, keys=[name])
@@ -3404,7 +3404,7 @@ class SetCommands(CommandsProtocol):
3404
3404
  """
3405
3405
  Move ``value`` from set ``src`` to set ``dst`` atomically
3406
3406
 
3407
- For more information see https://redis.io/commands/smove
3407
+ For more information, see https://redis.io/commands/smove
3408
3408
  """
3409
3409
  return self.execute_command("SMOVE", src, dst, value)
3410
3410
 
@@ -3412,7 +3412,7 @@ class SetCommands(CommandsProtocol):
3412
3412
  """
3413
3413
  Remove and return a random member of set ``name``
3414
3414
 
3415
- For more information see https://redis.io/commands/spop
3415
+ For more information, see https://redis.io/commands/spop
3416
3416
  """
3417
3417
  args = (count is not None) and [count] or []
3418
3418
  return self.execute_command("SPOP", name, *args)
@@ -3427,7 +3427,7 @@ class SetCommands(CommandsProtocol):
3427
3427
  members of set ``name``. Note this is only available when running
3428
3428
  Redis 2.6+.
3429
3429
 
3430
- For more information see https://redis.io/commands/srandmember
3430
+ For more information, see https://redis.io/commands/srandmember
3431
3431
  """
3432
3432
  args = (number is not None) and [number] or []
3433
3433
  return self.execute_command("SRANDMEMBER", name, *args)
@@ -3436,7 +3436,7 @@ class SetCommands(CommandsProtocol):
3436
3436
  """
3437
3437
  Remove ``values`` from set ``name``
3438
3438
 
3439
- For more information see https://redis.io/commands/srem
3439
+ For more information, see https://redis.io/commands/srem
3440
3440
  """
3441
3441
  return self.execute_command("SREM", name, *values)
3442
3442
 
@@ -3444,7 +3444,7 @@ class SetCommands(CommandsProtocol):
3444
3444
  """
3445
3445
  Return the union of sets specified by ``keys``
3446
3446
 
3447
- For more information see https://redis.io/commands/sunion
3447
+ For more information, see https://redis.io/commands/sunion
3448
3448
  """
3449
3449
  args = list_or_args(keys, args)
3450
3450
  return self.execute_command("SUNION", *args, keys=args)
@@ -3456,7 +3456,7 @@ class SetCommands(CommandsProtocol):
3456
3456
  Store the union of sets specified by ``keys`` into a new
3457
3457
  set named ``dest``. Returns the number of keys in the new set.
3458
3458
 
3459
- For more information see https://redis.io/commands/sunionstore
3459
+ For more information, see https://redis.io/commands/sunionstore
3460
3460
  """
3461
3461
  args = list_or_args(keys, args)
3462
3462
  return self.execute_command("SUNIONSTORE", dest, *args)
@@ -3480,7 +3480,7 @@ class StreamCommands(CommandsProtocol):
3480
3480
  groupname: name of the consumer group.
3481
3481
  *ids: message ids to acknowledge.
3482
3482
 
3483
- For more information see https://redis.io/commands/xack
3483
+ For more information, see https://redis.io/commands/xack
3484
3484
  """
3485
3485
  return self.execute_command("XACK", name, groupname, *ids)
3486
3486
 
@@ -3535,7 +3535,7 @@ class StreamCommands(CommandsProtocol):
3535
3535
  - DELREF: When trimming, removes all references from consumer groups' PEL
3536
3536
  - ACKED: When trimming, only removes entries acknowledged by all consumer groups
3537
3537
 
3538
- For more information see https://redis.io/commands/xadd
3538
+ For more information, see https://redis.io/commands/xadd
3539
3539
  """
3540
3540
  pieces: list[EncodableT] = []
3541
3541
  if maxlen is not None and minid is not None:
@@ -3595,7 +3595,7 @@ class StreamCommands(CommandsProtocol):
3595
3595
  justid: optional boolean, false by default. Return just an array of IDs
3596
3596
  of messages successfully claimed, without returning the actual message
3597
3597
 
3598
- For more information see https://redis.io/commands/xautoclaim
3598
+ For more information, see https://redis.io/commands/xautoclaim
3599
3599
  """
3600
3600
  try:
3601
3601
  if int(min_idle_time) < 0:
@@ -3665,7 +3665,7 @@ class StreamCommands(CommandsProtocol):
3665
3665
  justid: optional boolean, false by default. Return just an array of IDs
3666
3666
  of messages successfully claimed, without returning the actual message
3667
3667
 
3668
- For more information see https://redis.io/commands/xclaim
3668
+ For more information, see https://redis.io/commands/xclaim
3669
3669
  """
3670
3670
  if not isinstance(min_idle_time, int) or min_idle_time < 0:
3671
3671
  raise DataError("XCLAIM min_idle_time must be a non negative integer")
@@ -3711,7 +3711,7 @@ class StreamCommands(CommandsProtocol):
3711
3711
  name: name of the stream.
3712
3712
  *ids: message ids to delete.
3713
3713
 
3714
- For more information see https://redis.io/commands/xdel
3714
+ For more information, see https://redis.io/commands/xdel
3715
3715
  """
3716
3716
  return self.execute_command("XDEL", name, *ids)
3717
3717
 
@@ -3749,7 +3749,7 @@ class StreamCommands(CommandsProtocol):
3749
3749
  groupname: name of the consumer group.
3750
3750
  id: ID of the last item in the stream to consider already delivered.
3751
3751
 
3752
- For more information see https://redis.io/commands/xgroup-create
3752
+ For more information, see https://redis.io/commands/xgroup-create
3753
3753
  """
3754
3754
  pieces: list[EncodableT] = ["XGROUP CREATE", name, groupname, id]
3755
3755
  if mkstream:
@@ -3770,7 +3770,7 @@ class StreamCommands(CommandsProtocol):
3770
3770
  groupname: name of the consumer group.
3771
3771
  consumername: name of consumer to delete
3772
3772
 
3773
- For more information see https://redis.io/commands/xgroup-delconsumer
3773
+ For more information, see https://redis.io/commands/xgroup-delconsumer
3774
3774
  """
3775
3775
  return self.execute_command("XGROUP DELCONSUMER", name, groupname, consumername)
3776
3776
 
@@ -3780,7 +3780,7 @@ class StreamCommands(CommandsProtocol):
3780
3780
  name: name of the stream.
3781
3781
  groupname: name of the consumer group.
3782
3782
 
3783
- For more information see https://redis.io/commands/xgroup-destroy
3783
+ For more information, see https://redis.io/commands/xgroup-destroy
3784
3784
  """
3785
3785
  return self.execute_command("XGROUP DESTROY", name, groupname)
3786
3786
 
@@ -3814,7 +3814,7 @@ class StreamCommands(CommandsProtocol):
3814
3814
  groupname: name of the consumer group.
3815
3815
  id: ID of the last item in the stream to consider already delivered.
3816
3816
 
3817
- For more information see https://redis.io/commands/xgroup-setid
3817
+ For more information, see https://redis.io/commands/xgroup-setid
3818
3818
  """
3819
3819
  pieces = [name, groupname, id]
3820
3820
  if entries_read is not None:
@@ -3827,7 +3827,7 @@ class StreamCommands(CommandsProtocol):
3827
3827
  name: name of the stream.
3828
3828
  groupname: name of the consumer group.
3829
3829
 
3830
- For more information see https://redis.io/commands/xinfo-consumers
3830
+ For more information, see https://redis.io/commands/xinfo-consumers
3831
3831
  """
3832
3832
  return self.execute_command("XINFO CONSUMERS", name, groupname)
3833
3833
 
@@ -3836,7 +3836,7 @@ class StreamCommands(CommandsProtocol):
3836
3836
  Returns general information about the consumer groups of the stream.
3837
3837
  name: name of the stream.
3838
3838
 
3839
- For more information see https://redis.io/commands/xinfo-groups
3839
+ For more information, see https://redis.io/commands/xinfo-groups
3840
3840
  """
3841
3841
  return self.execute_command("XINFO GROUPS", name)
3842
3842
 
@@ -3846,7 +3846,7 @@ class StreamCommands(CommandsProtocol):
3846
3846
  name: name of the stream.
3847
3847
  full: optional boolean, false by default. Return full summary
3848
3848
 
3849
- For more information see https://redis.io/commands/xinfo-stream
3849
+ For more information, see https://redis.io/commands/xinfo-stream
3850
3850
  """
3851
3851
  pieces = [name]
3852
3852
  options = {}
@@ -3859,7 +3859,7 @@ class StreamCommands(CommandsProtocol):
3859
3859
  """
3860
3860
  Returns the number of elements in a given stream.
3861
3861
 
3862
- For more information see https://redis.io/commands/xlen
3862
+ For more information, see https://redis.io/commands/xlen
3863
3863
  """
3864
3864
  return self.execute_command("XLEN", name, keys=[name])
3865
3865
 
@@ -3869,7 +3869,7 @@ class StreamCommands(CommandsProtocol):
3869
3869
  name: name of the stream.
3870
3870
  groupname: name of the consumer group.
3871
3871
 
3872
- For more information see https://redis.io/commands/xpending
3872
+ For more information, see https://redis.io/commands/xpending
3873
3873
  """
3874
3874
  return self.execute_command("XPENDING", name, groupname, keys=[name])
3875
3875
 
@@ -3951,7 +3951,7 @@ class StreamCommands(CommandsProtocol):
3951
3951
  count: if set, only return this many items, beginning with the
3952
3952
  earliest available.
3953
3953
 
3954
- For more information see https://redis.io/commands/xrange
3954
+ For more information, see https://redis.io/commands/xrange
3955
3955
  """
3956
3956
  pieces = [min, max]
3957
3957
  if count is not None:
@@ -3979,7 +3979,7 @@ class StreamCommands(CommandsProtocol):
3979
3979
 
3980
3980
  block: number of milliseconds to wait, if nothing already present.
3981
3981
 
3982
- For more information see https://redis.io/commands/xread
3982
+ For more information, see https://redis.io/commands/xread
3983
3983
  """
3984
3984
  pieces = []
3985
3985
  if block is not None:
@@ -4025,7 +4025,7 @@ class StreamCommands(CommandsProtocol):
4025
4025
  block: number of milliseconds to wait, if nothing already present.
4026
4026
  noack: do not add messages to the PEL
4027
4027
 
4028
- For more information see https://redis.io/commands/xreadgroup
4028
+ For more information, see https://redis.io/commands/xreadgroup
4029
4029
  """
4030
4030
  pieces: list[EncodableT] = [b"GROUP", groupname, consumername]
4031
4031
  if count is not None:
@@ -4068,7 +4068,7 @@ class StreamCommands(CommandsProtocol):
4068
4068
  count: if set, only return this many items, beginning with the
4069
4069
  latest available.
4070
4070
 
4071
- For more information see https://redis.io/commands/xrevrange
4071
+ For more information, see https://redis.io/commands/xrevrange
4072
4072
  """
4073
4073
  pieces: list[EncodableT] = [max, min]
4074
4074
  if count is not None:
@@ -4102,7 +4102,7 @@ class StreamCommands(CommandsProtocol):
4102
4102
  - DELREF: Trims entries and removes all references from consumer groups' PEL
4103
4103
  - ACKED: Only trims entries that were read and acknowledged by all consumer groups
4104
4104
 
4105
- For more information see https://redis.io/commands/xtrim
4105
+ For more information, see https://redis.io/commands/xtrim
4106
4106
  """
4107
4107
  pieces: list[EncodableT] = []
4108
4108
  if maxlen is not None and minid is not None:
@@ -4172,17 +4172,17 @@ class SortedSetCommands(CommandsProtocol):
4172
4172
  the existing score will be incremented by. When using this mode the
4173
4173
  return value of ZADD will be the new score of the element.
4174
4174
 
4175
- ``LT`` Only update existing elements if the new score is less than
4175
+ ``lt`` only updates existing elements if the new score is less than
4176
4176
  the current score. This flag doesn't prevent adding new elements.
4177
4177
 
4178
- ``GT`` Only update existing elements if the new score is greater than
4178
+ ``gt`` only updates existing elements if the new score is greater than
4179
4179
  the current score. This flag doesn't prevent adding new elements.
4180
4180
 
4181
4181
  The return value of ZADD varies based on the mode specified. With no
4182
4182
  options, ZADD returns the number of new elements added to the sorted
4183
4183
  set.
4184
4184
 
4185
- ``NX``, ``LT``, and ``GT`` are mutually exclusive options.
4185
+ ``nx``, ``lt``, and ``gt`` are mutually exclusive options.
4186
4186
 
4187
4187
  See: https://redis.io/commands/ZADD
4188
4188
  """
@@ -4223,7 +4223,7 @@ class SortedSetCommands(CommandsProtocol):
4223
4223
  """
4224
4224
  Return the number of elements in the sorted set ``name``
4225
4225
 
4226
- For more information see https://redis.io/commands/zcard
4226
+ For more information, see https://redis.io/commands/zcard
4227
4227
  """
4228
4228
  return self.execute_command("ZCARD", name, keys=[name])
4229
4229
 
@@ -4232,7 +4232,7 @@ class SortedSetCommands(CommandsProtocol):
4232
4232
  Returns the number of elements in the sorted set at key ``name`` with
4233
4233
  a score between ``min`` and ``max``.
4234
4234
 
4235
- For more information see https://redis.io/commands/zcount
4235
+ For more information, see https://redis.io/commands/zcount
4236
4236
  """
4237
4237
  return self.execute_command("ZCOUNT", name, min, max, keys=[name])
4238
4238
 
@@ -4241,7 +4241,7 @@ class SortedSetCommands(CommandsProtocol):
4241
4241
  Returns the difference between the first and all successive input
4242
4242
  sorted sets provided in ``keys``.
4243
4243
 
4244
- For more information see https://redis.io/commands/zdiff
4244
+ For more information, see https://redis.io/commands/zdiff
4245
4245
  """
4246
4246
  pieces = [len(keys), *keys]
4247
4247
  if withscores:
@@ -4253,7 +4253,7 @@ class SortedSetCommands(CommandsProtocol):
4253
4253
  Computes the difference between the first and all successive input
4254
4254
  sorted sets provided in ``keys`` and stores the result in ``dest``.
4255
4255
 
4256
- For more information see https://redis.io/commands/zdiffstore
4256
+ For more information, see https://redis.io/commands/zdiffstore
4257
4257
  """
4258
4258
  pieces = [len(keys), *keys]
4259
4259
  return self.execute_command("ZDIFFSTORE", dest, *pieces)
@@ -4262,7 +4262,7 @@ class SortedSetCommands(CommandsProtocol):
4262
4262
  """
4263
4263
  Increment the score of ``value`` in sorted set ``name`` by ``amount``
4264
4264
 
4265
- For more information see https://redis.io/commands/zincrby
4265
+ For more information, see https://redis.io/commands/zincrby
4266
4266
  """
4267
4267
  return self.execute_command("ZINCRBY", name, amount, value)
4268
4268
 
@@ -4278,7 +4278,7 @@ class SortedSetCommands(CommandsProtocol):
4278
4278
  set will contain the minimum or maximum score of an element across
4279
4279
  the inputs where it exists.
4280
4280
 
4281
- For more information see https://redis.io/commands/zinter
4281
+ For more information, see https://redis.io/commands/zinter
4282
4282
  """
4283
4283
  return self._zaggregate("ZINTER", None, keys, aggregate, withscores=withscores)
4284
4284
 
@@ -4297,7 +4297,7 @@ class SortedSetCommands(CommandsProtocol):
4297
4297
  contain the minimum or maximum score of an element across the inputs
4298
4298
  where it exists.
4299
4299
 
4300
- For more information see https://redis.io/commands/zinterstore
4300
+ For more information, see https://redis.io/commands/zinterstore
4301
4301
  """
4302
4302
  return self._zaggregate("ZINTERSTORE", dest, keys, aggregate)
4303
4303
 
@@ -4311,7 +4311,7 @@ class SortedSetCommands(CommandsProtocol):
4311
4311
  cardinality reaches limit partway through the computation, the algorithm will
4312
4312
  exit and yield limit as the cardinality
4313
4313
 
4314
- For more information see https://redis.io/commands/zintercard
4314
+ For more information, see https://redis.io/commands/zintercard
4315
4315
  """
4316
4316
  args = [numkeys, *keys, "LIMIT", limit]
4317
4317
  return self.execute_command("ZINTERCARD", *args, keys=keys)
@@ -4321,7 +4321,7 @@ class SortedSetCommands(CommandsProtocol):
4321
4321
  Return the number of items in the sorted set ``name`` between the
4322
4322
  lexicographical range ``min`` and ``max``.
4323
4323
 
4324
- For more information see https://redis.io/commands/zlexcount
4324
+ For more information, see https://redis.io/commands/zlexcount
4325
4325
  """
4326
4326
  return self.execute_command("ZLEXCOUNT", name, min, max, keys=[name])
4327
4327
 
@@ -4330,7 +4330,7 @@ class SortedSetCommands(CommandsProtocol):
4330
4330
  Remove and return up to ``count`` members with the highest scores
4331
4331
  from the sorted set ``name``.
4332
4332
 
4333
- For more information see https://redis.io/commands/zpopmax
4333
+ For more information, see https://redis.io/commands/zpopmax
4334
4334
  """
4335
4335
  args = (count is not None) and [count] or []
4336
4336
  options = {"withscores": True}
@@ -4341,7 +4341,7 @@ class SortedSetCommands(CommandsProtocol):
4341
4341
  Remove and return up to ``count`` members with the lowest scores
4342
4342
  from the sorted set ``name``.
4343
4343
 
4344
- For more information see https://redis.io/commands/zpopmin
4344
+ For more information, see https://redis.io/commands/zpopmin
4345
4345
  """
4346
4346
  args = (count is not None) and [count] or []
4347
4347
  options = {"withscores": True}
@@ -4363,7 +4363,7 @@ class SortedSetCommands(CommandsProtocol):
4363
4363
  includes the respective scores of the randomly selected elements from
4364
4364
  the sorted set.
4365
4365
 
4366
- For more information see https://redis.io/commands/zrandmember
4366
+ For more information, see https://redis.io/commands/zrandmember
4367
4367
  """
4368
4368
  params = []
4369
4369
  if count is not None:
@@ -4384,7 +4384,7 @@ class SortedSetCommands(CommandsProtocol):
4384
4384
 
4385
4385
  If timeout is 0, then block indefinitely.
4386
4386
 
4387
- For more information see https://redis.io/commands/bzpopmax
4387
+ For more information, see https://redis.io/commands/bzpopmax
4388
4388
  """
4389
4389
  if timeout is None:
4390
4390
  timeout = 0
@@ -4403,7 +4403,7 @@ class SortedSetCommands(CommandsProtocol):
4403
4403
 
4404
4404
  If timeout is 0, then block indefinitely.
4405
4405
 
4406
- For more information see https://redis.io/commands/bzpopmin
4406
+ For more information, see https://redis.io/commands/bzpopmin
4407
4407
  """
4408
4408
  if timeout is None:
4409
4409
  timeout = 0
@@ -4422,7 +4422,7 @@ class SortedSetCommands(CommandsProtocol):
4422
4422
  """
4423
4423
  Pop ``count`` values (default 1) off of the first non-empty sorted set
4424
4424
  named in the ``keys`` list.
4425
- For more information see https://redis.io/commands/zmpop
4425
+ For more information, see https://redis.io/commands/zmpop
4426
4426
  """
4427
4427
  args = [num_keys] + keys
4428
4428
  if (min and max) or (not min and not max):
@@ -4455,7 +4455,7 @@ class SortedSetCommands(CommandsProtocol):
4455
4455
 
4456
4456
  If timeout is 0, then block indefinitely.
4457
4457
 
4458
- For more information see https://redis.io/commands/bzmpop
4458
+ For more information, see https://redis.io/commands/bzmpop
4459
4459
  """
4460
4460
  args = [timeout, numkeys, *keys]
4461
4461
  if (min and max) or (not min and not max):
@@ -4548,7 +4548,7 @@ class SortedSetCommands(CommandsProtocol):
4548
4548
  ``offset`` and ``num`` are specified, then return a slice of the range.
4549
4549
  Can't be provided when using ``bylex``.
4550
4550
 
4551
- For more information see https://redis.io/commands/zrange
4551
+ For more information, see https://redis.io/commands/zrange
4552
4552
  """
4553
4553
  # Need to support ``desc`` also when using old redis version
4554
4554
  # because it was supported in 3.5.3 (of redis-py)
@@ -4589,7 +4589,7 @@ class SortedSetCommands(CommandsProtocol):
4589
4589
 
4590
4590
  ``score_cast_func`` a callable used to cast the score return value
4591
4591
 
4592
- For more information see https://redis.io/commands/zrevrange
4592
+ For more information, see https://redis.io/commands/zrevrange
4593
4593
  """
4594
4594
  pieces = ["ZREVRANGE", name, start, end]
4595
4595
  if withscores:
@@ -4631,7 +4631,7 @@ class SortedSetCommands(CommandsProtocol):
4631
4631
  ``offset`` and ``num`` are specified, then return a slice of the range.
4632
4632
  Can't be provided when using ``bylex``.
4633
4633
 
4634
- For more information see https://redis.io/commands/zrangestore
4634
+ For more information, see https://redis.io/commands/zrangestore
4635
4635
  """
4636
4636
  return self._zrange(
4637
4637
  "ZRANGESTORE",
@@ -4663,7 +4663,7 @@ class SortedSetCommands(CommandsProtocol):
4663
4663
  If ``start`` and ``num`` are specified, then return a slice of the
4664
4664
  range.
4665
4665
 
4666
- For more information see https://redis.io/commands/zrangebylex
4666
+ For more information, see https://redis.io/commands/zrangebylex
4667
4667
  """
4668
4668
  if (start is not None and num is None) or (num is not None and start is None):
4669
4669
  raise DataError("``start`` and ``num`` must both be specified")
@@ -4687,7 +4687,7 @@ class SortedSetCommands(CommandsProtocol):
4687
4687
  If ``start`` and ``num`` are specified, then return a slice of the
4688
4688
  range.
4689
4689
 
4690
- For more information see https://redis.io/commands/zrevrangebylex
4690
+ For more information, see https://redis.io/commands/zrevrangebylex
4691
4691
  """
4692
4692
  if (start is not None and num is None) or (num is not None and start is None):
4693
4693
  raise DataError("``start`` and ``num`` must both be specified")
@@ -4718,7 +4718,7 @@ class SortedSetCommands(CommandsProtocol):
4718
4718
 
4719
4719
  `score_cast_func`` a callable used to cast the score return value
4720
4720
 
4721
- For more information see https://redis.io/commands/zrangebyscore
4721
+ For more information, see https://redis.io/commands/zrangebyscore
4722
4722
  """
4723
4723
  if (start is not None and num is None) or (num is not None and start is None):
4724
4724
  raise DataError("``start`` and ``num`` must both be specified")
@@ -4753,7 +4753,7 @@ class SortedSetCommands(CommandsProtocol):
4753
4753
 
4754
4754
  ``score_cast_func`` a callable used to cast the score return value
4755
4755
 
4756
- For more information see https://redis.io/commands/zrevrangebyscore
4756
+ For more information, see https://redis.io/commands/zrevrangebyscore
4757
4757
  """
4758
4758
  if (start is not None and num is None) or (num is not None and start is None):
4759
4759
  raise DataError("``start`` and ``num`` must both be specified")
@@ -4778,7 +4778,7 @@ class SortedSetCommands(CommandsProtocol):
4778
4778
  The optional WITHSCORE argument supplements the command's
4779
4779
  reply with the score of the element returned.
4780
4780
 
4781
- For more information see https://redis.io/commands/zrank
4781
+ For more information, see https://redis.io/commands/zrank
4782
4782
  """
4783
4783
  if withscore:
4784
4784
  return self.execute_command("ZRANK", name, value, "WITHSCORE", keys=[name])
@@ -4788,7 +4788,7 @@ class SortedSetCommands(CommandsProtocol):
4788
4788
  """
4789
4789
  Remove member ``values`` from sorted set ``name``
4790
4790
 
4791
- For more information see https://redis.io/commands/zrem
4791
+ For more information, see https://redis.io/commands/zrem
4792
4792
  """
4793
4793
  return self.execute_command("ZREM", name, *values)
4794
4794
 
@@ -4799,7 +4799,7 @@ class SortedSetCommands(CommandsProtocol):
4799
4799
 
4800
4800
  Returns the number of elements removed.
4801
4801
 
4802
- For more information see https://redis.io/commands/zremrangebylex
4802
+ For more information, see https://redis.io/commands/zremrangebylex
4803
4803
  """
4804
4804
  return self.execute_command("ZREMRANGEBYLEX", name, min, max)
4805
4805
 
@@ -4810,7 +4810,7 @@ class SortedSetCommands(CommandsProtocol):
4810
4810
  to largest. Values can be negative indicating the highest scores.
4811
4811
  Returns the number of elements removed
4812
4812
 
4813
- For more information see https://redis.io/commands/zremrangebyrank
4813
+ For more information, see https://redis.io/commands/zremrangebyrank
4814
4814
  """
4815
4815
  return self.execute_command("ZREMRANGEBYRANK", name, min, max)
4816
4816
 
@@ -4821,7 +4821,7 @@ class SortedSetCommands(CommandsProtocol):
4821
4821
  Remove all elements in the sorted set ``name`` with scores
4822
4822
  between ``min`` and ``max``. Returns the number of elements removed.
4823
4823
 
4824
- For more information see https://redis.io/commands/zremrangebyscore
4824
+ For more information, see https://redis.io/commands/zremrangebyscore
4825
4825
  """
4826
4826
  return self.execute_command("ZREMRANGEBYSCORE", name, min, max)
4827
4827
 
@@ -4837,7 +4837,7 @@ class SortedSetCommands(CommandsProtocol):
4837
4837
  The optional ``withscore`` argument supplements the command's
4838
4838
  reply with the score of the element returned.
4839
4839
 
4840
- For more information see https://redis.io/commands/zrevrank
4840
+ For more information, see https://redis.io/commands/zrevrank
4841
4841
  """
4842
4842
  if withscore:
4843
4843
  return self.execute_command(
@@ -4849,7 +4849,7 @@ class SortedSetCommands(CommandsProtocol):
4849
4849
  """
4850
4850
  Return the score of element ``value`` in sorted set ``name``
4851
4851
 
4852
- For more information see https://redis.io/commands/zscore
4852
+ For more information, see https://redis.io/commands/zscore
4853
4853
  """
4854
4854
  return self.execute_command("ZSCORE", name, value, keys=[name])
4855
4855
 
@@ -4865,7 +4865,7 @@ class SortedSetCommands(CommandsProtocol):
4865
4865
  Scores will be aggregated based on the ``aggregate``, or SUM if
4866
4866
  none is provided.
4867
4867
 
4868
- For more information see https://redis.io/commands/zunion
4868
+ For more information, see https://redis.io/commands/zunion
4869
4869
  """
4870
4870
  return self._zaggregate("ZUNION", None, keys, aggregate, withscores=withscores)
4871
4871
 
@@ -4880,7 +4880,7 @@ class SortedSetCommands(CommandsProtocol):
4880
4880
  a new sorted set, ``dest``. Scores in the destination will be
4881
4881
  aggregated based on the ``aggregate``, or SUM if none is provided.
4882
4882
 
4883
- For more information see https://redis.io/commands/zunionstore
4883
+ For more information, see https://redis.io/commands/zunionstore
4884
4884
  """
4885
4885
  return self._zaggregate("ZUNIONSTORE", dest, keys, aggregate)
4886
4886
 
@@ -4893,7 +4893,7 @@ class SortedSetCommands(CommandsProtocol):
4893
4893
  If the member does not exist, a None will be returned
4894
4894
  in corresponding position.
4895
4895
 
4896
- For more information see https://redis.io/commands/zmscore
4896
+ For more information, see https://redis.io/commands/zmscore
4897
4897
  """
4898
4898
  if not members:
4899
4899
  raise DataError("ZMSCORE members must be a non-empty list")
@@ -4945,7 +4945,7 @@ class HyperlogCommands(CommandsProtocol):
4945
4945
  """
4946
4946
  Adds the specified elements to the specified HyperLogLog.
4947
4947
 
4948
- For more information see https://redis.io/commands/pfadd
4948
+ For more information, see https://redis.io/commands/pfadd
4949
4949
  """
4950
4950
  return self.execute_command("PFADD", name, *values)
4951
4951
 
@@ -4954,7 +4954,7 @@ class HyperlogCommands(CommandsProtocol):
4954
4954
  Return the approximated cardinality of
4955
4955
  the set observed by the HyperLogLog at key(s).
4956
4956
 
4957
- For more information see https://redis.io/commands/pfcount
4957
+ For more information, see https://redis.io/commands/pfcount
4958
4958
  """
4959
4959
  return self.execute_command("PFCOUNT", *sources)
4960
4960
 
@@ -4962,7 +4962,7 @@ class HyperlogCommands(CommandsProtocol):
4962
4962
  """
4963
4963
  Merge N different HyperLogLogs into a single one.
4964
4964
 
4965
- For more information see https://redis.io/commands/pfmerge
4965
+ For more information, see https://redis.io/commands/pfmerge
4966
4966
  """
4967
4967
  return self.execute_command("PFMERGE", dest, *sources)
4968
4968
 
@@ -4990,7 +4990,7 @@ class HashCommands(CommandsProtocol):
4990
4990
  """
4991
4991
  Delete ``keys`` from hash ``name``
4992
4992
 
4993
- For more information see https://redis.io/commands/hdel
4993
+ For more information, see https://redis.io/commands/hdel
4994
4994
  """
4995
4995
  return self.execute_command("HDEL", name, *keys)
4996
4996
 
@@ -4998,7 +4998,7 @@ class HashCommands(CommandsProtocol):
4998
4998
  """
4999
4999
  Returns a boolean indicating if ``key`` exists within hash ``name``
5000
5000
 
5001
- For more information see https://redis.io/commands/hexists
5001
+ For more information, see https://redis.io/commands/hexists
5002
5002
  """
5003
5003
  return self.execute_command("HEXISTS", name, key, keys=[name])
5004
5004
 
@@ -5008,7 +5008,7 @@ class HashCommands(CommandsProtocol):
5008
5008
  """
5009
5009
  Return the value of ``key`` within the hash ``name``
5010
5010
 
5011
- For more information see https://redis.io/commands/hget
5011
+ For more information, see https://redis.io/commands/hget
5012
5012
  """
5013
5013
  return self.execute_command("HGET", name, key, keys=[name])
5014
5014
 
@@ -5016,7 +5016,7 @@ class HashCommands(CommandsProtocol):
5016
5016
  """
5017
5017
  Return a Python dict of the hash's name/value pairs
5018
5018
 
5019
- For more information see https://redis.io/commands/hgetall
5019
+ For more information, see https://redis.io/commands/hgetall
5020
5020
  """
5021
5021
  return self.execute_command("HGETALL", name, keys=[name])
5022
5022
 
@@ -5032,7 +5032,7 @@ class HashCommands(CommandsProtocol):
5032
5032
  the key on success from the hash with the provided ```name```.
5033
5033
 
5034
5034
  Available since Redis 8.0
5035
- For more information see https://redis.io/commands/hgetdel
5035
+ For more information, see https://redis.io/commands/hgetdel
5036
5036
  """
5037
5037
  if len(keys) == 0:
5038
5038
  raise DataError("'hgetdel' should have at least one key provided")
@@ -5068,7 +5068,7 @@ class HashCommands(CommandsProtocol):
5068
5068
  ``persist`` remove the time to live associated with the ``keys``.
5069
5069
 
5070
5070
  Available since Redis 8.0
5071
- For more information see https://redis.io/commands/hgetex
5071
+ For more information, see https://redis.io/commands/hgetex
5072
5072
  """
5073
5073
  if not keys:
5074
5074
  raise DataError("'hgetex' should have at least one key provided")
@@ -5100,7 +5100,7 @@ class HashCommands(CommandsProtocol):
5100
5100
  """
5101
5101
  Increment the value of ``key`` in hash ``name`` by ``amount``
5102
5102
 
5103
- For more information see https://redis.io/commands/hincrby
5103
+ For more information, see https://redis.io/commands/hincrby
5104
5104
  """
5105
5105
  return self.execute_command("HINCRBY", name, key, amount)
5106
5106
 
@@ -5110,7 +5110,7 @@ class HashCommands(CommandsProtocol):
5110
5110
  """
5111
5111
  Increment the value of ``key`` in hash ``name`` by floating ``amount``
5112
5112
 
5113
- For more information see https://redis.io/commands/hincrbyfloat
5113
+ For more information, see https://redis.io/commands/hincrbyfloat
5114
5114
  """
5115
5115
  return self.execute_command("HINCRBYFLOAT", name, key, amount)
5116
5116
 
@@ -5118,7 +5118,7 @@ class HashCommands(CommandsProtocol):
5118
5118
  """
5119
5119
  Return the list of keys within hash ``name``
5120
5120
 
5121
- For more information see https://redis.io/commands/hkeys
5121
+ For more information, see https://redis.io/commands/hkeys
5122
5122
  """
5123
5123
  return self.execute_command("HKEYS", name, keys=[name])
5124
5124
 
@@ -5126,7 +5126,7 @@ class HashCommands(CommandsProtocol):
5126
5126
  """
5127
5127
  Return the number of elements in hash ``name``
5128
5128
 
5129
- For more information see https://redis.io/commands/hlen
5129
+ For more information, see https://redis.io/commands/hlen
5130
5130
  """
5131
5131
  return self.execute_command("HLEN", name, keys=[name])
5132
5132
 
@@ -5146,7 +5146,7 @@ class HashCommands(CommandsProtocol):
5146
5146
  added to hash ``name``.
5147
5147
  Returns the number of fields that were added.
5148
5148
 
5149
- For more information see https://redis.io/commands/hset
5149
+ For more information, see https://redis.io/commands/hset
5150
5150
  """
5151
5151
 
5152
5152
  if key is None and not mapping and not items:
@@ -5208,7 +5208,7 @@ class HashCommands(CommandsProtocol):
5208
5208
  Returns the number of fields that were added.
5209
5209
 
5210
5210
  Available since Redis 8.0
5211
- For more information see https://redis.io/commands/hsetex
5211
+ For more information, see https://redis.io/commands/hsetex
5212
5212
  """
5213
5213
  if key is None and not mapping and not items:
5214
5214
  raise DataError("'hsetex' with no key value pairs")
@@ -5251,7 +5251,7 @@ class HashCommands(CommandsProtocol):
5251
5251
  Set ``key`` to ``value`` within hash ``name`` if ``key`` does not
5252
5252
  exist. Returns 1 if HSETNX created a field, otherwise 0.
5253
5253
 
5254
- For more information see https://redis.io/commands/hsetnx
5254
+ For more information, see https://redis.io/commands/hsetnx
5255
5255
  """
5256
5256
  return self.execute_command("HSETNX", name, key, value)
5257
5257
 
@@ -5265,7 +5265,7 @@ class HashCommands(CommandsProtocol):
5265
5265
  Set key to value within hash ``name`` for each corresponding
5266
5266
  key and value from the ``mapping`` dict.
5267
5267
 
5268
- For more information see https://redis.io/commands/hmset
5268
+ For more information, see https://redis.io/commands/hmset
5269
5269
  """
5270
5270
  if not mapping:
5271
5271
  raise DataError("'hmset' with 'mapping' of length 0")
@@ -5278,7 +5278,7 @@ class HashCommands(CommandsProtocol):
5278
5278
  """
5279
5279
  Returns a list of values ordered identically to ``keys``
5280
5280
 
5281
- For more information see https://redis.io/commands/hmget
5281
+ For more information, see https://redis.io/commands/hmget
5282
5282
  """
5283
5283
  args = list_or_args(keys, args)
5284
5284
  return self.execute_command("HMGET", name, *args, keys=[name])
@@ -5287,7 +5287,7 @@ class HashCommands(CommandsProtocol):
5287
5287
  """
5288
5288
  Return the list of values within hash ``name``
5289
5289
 
5290
- For more information see https://redis.io/commands/hvals
5290
+ For more information, see https://redis.io/commands/hvals
5291
5291
  """
5292
5292
  return self.execute_command("HVALS", name, keys=[name])
5293
5293
 
@@ -5296,7 +5296,7 @@ class HashCommands(CommandsProtocol):
5296
5296
  Return the number of bytes stored in the value of ``key``
5297
5297
  within hash ``name``
5298
5298
 
5299
- For more information see https://redis.io/commands/hstrlen
5299
+ For more information, see https://redis.io/commands/hstrlen
5300
5300
  """
5301
5301
  return self.execute_command("HSTRLEN", name, key, keys=[name])
5302
5302
 
@@ -5790,7 +5790,7 @@ class PubSubCommands(CommandsProtocol):
5790
5790
  Publish ``message`` on ``channel``.
5791
5791
  Returns the number of subscribers the message was delivered to.
5792
5792
 
5793
- For more information see https://redis.io/commands/publish
5793
+ For more information, see https://redis.io/commands/publish
5794
5794
  """
5795
5795
  return self.execute_command("PUBLISH", channel, message, **kwargs)
5796
5796
 
@@ -5799,7 +5799,7 @@ class PubSubCommands(CommandsProtocol):
5799
5799
  Posts a message to the given shard channel.
5800
5800
  Returns the number of clients that received the message
5801
5801
 
5802
- For more information see https://redis.io/commands/spublish
5802
+ For more information, see https://redis.io/commands/spublish
5803
5803
  """
5804
5804
  return self.execute_command("SPUBLISH", shard_channel, message)
5805
5805
 
@@ -5807,7 +5807,7 @@ class PubSubCommands(CommandsProtocol):
5807
5807
  """
5808
5808
  Return a list of channels that have at least one subscriber
5809
5809
 
5810
- For more information see https://redis.io/commands/pubsub-channels
5810
+ For more information, see https://redis.io/commands/pubsub-channels
5811
5811
  """
5812
5812
  return self.execute_command("PUBSUB CHANNELS", pattern, **kwargs)
5813
5813
 
@@ -5815,7 +5815,7 @@ class PubSubCommands(CommandsProtocol):
5815
5815
  """
5816
5816
  Return a list of shard_channels that have at least one subscriber
5817
5817
 
5818
- For more information see https://redis.io/commands/pubsub-shardchannels
5818
+ For more information, see https://redis.io/commands/pubsub-shardchannels
5819
5819
  """
5820
5820
  return self.execute_command("PUBSUB SHARDCHANNELS", pattern, **kwargs)
5821
5821
 
@@ -5823,7 +5823,7 @@ class PubSubCommands(CommandsProtocol):
5823
5823
  """
5824
5824
  Returns the number of subscriptions to patterns
5825
5825
 
5826
- For more information see https://redis.io/commands/pubsub-numpat
5826
+ For more information, see https://redis.io/commands/pubsub-numpat
5827
5827
  """
5828
5828
  return self.execute_command("PUBSUB NUMPAT", **kwargs)
5829
5829
 
@@ -5832,7 +5832,7 @@ class PubSubCommands(CommandsProtocol):
5832
5832
  Return a list of (channel, number of subscribers) tuples
5833
5833
  for each channel given in ``*args``
5834
5834
 
5835
- For more information see https://redis.io/commands/pubsub-numsub
5835
+ For more information, see https://redis.io/commands/pubsub-numsub
5836
5836
  """
5837
5837
  return self.execute_command("PUBSUB NUMSUB", *args, **kwargs)
5838
5838
 
@@ -5841,7 +5841,7 @@ class PubSubCommands(CommandsProtocol):
5841
5841
  Return a list of (shard_channel, number of subscribers) tuples
5842
5842
  for each channel given in ``*args``
5843
5843
 
5844
- For more information see https://redis.io/commands/pubsub-shardnumsub
5844
+ For more information, see https://redis.io/commands/pubsub-shardnumsub
5845
5845
  """
5846
5846
  return self.execute_command("PUBSUB SHARDNUMSUB", *args, **kwargs)
5847
5847
 
@@ -5871,7 +5871,7 @@ class ScriptCommands(CommandsProtocol):
5871
5871
  In practice, use the object returned by ``register_script``. This
5872
5872
  function exists purely for Redis API completion.
5873
5873
 
5874
- For more information see https://redis.io/commands/eval
5874
+ For more information, see https://redis.io/commands/eval
5875
5875
  """
5876
5876
  return self._eval("EVAL", script, numkeys, *keys_and_args)
5877
5877
 
@@ -5885,7 +5885,7 @@ class ScriptCommands(CommandsProtocol):
5885
5885
  will touch and the key names and argument values in ``keys_and_args``.
5886
5886
  Returns the result of the script.
5887
5887
 
5888
- For more information see https://redis.io/commands/eval_ro
5888
+ For more information, see https://redis.io/commands/eval_ro
5889
5889
  """
5890
5890
  return self._eval("EVAL_RO", script, numkeys, *keys_and_args)
5891
5891
 
@@ -5906,7 +5906,7 @@ class ScriptCommands(CommandsProtocol):
5906
5906
  In practice, use the object returned by ``register_script``. This
5907
5907
  function exists purely for Redis API completion.
5908
5908
 
5909
- For more information see https://redis.io/commands/evalsha
5909
+ For more information, see https://redis.io/commands/evalsha
5910
5910
  """
5911
5911
  return self._evalsha("EVALSHA", sha, numkeys, *keys_and_args)
5912
5912
 
@@ -5921,7 +5921,7 @@ class ScriptCommands(CommandsProtocol):
5921
5921
  key names and argument values in ``keys_and_args``. Returns the result
5922
5922
  of the script.
5923
5923
 
5924
- For more information see https://redis.io/commands/evalsha_ro
5924
+ For more information, see https://redis.io/commands/evalsha_ro
5925
5925
  """
5926
5926
  return self._evalsha("EVALSHA_RO", sha, numkeys, *keys_and_args)
5927
5927
 
@@ -5931,7 +5931,7 @@ class ScriptCommands(CommandsProtocol):
5931
5931
  each script as ``args``. Returns a list of boolean values indicating if
5932
5932
  if each already script exists in the cache_data.
5933
5933
 
5934
- For more information see https://redis.io/commands/script-exists
5934
+ For more information, see https://redis.io/commands/script-exists
5935
5935
  """
5936
5936
  return self.execute_command("SCRIPT EXISTS", *args)
5937
5937
 
@@ -5948,7 +5948,7 @@ class ScriptCommands(CommandsProtocol):
5948
5948
  ``sync_type`` is by default SYNC (synchronous) but it can also be
5949
5949
  ASYNC.
5950
5950
 
5951
- For more information see https://redis.io/commands/script-flush
5951
+ For more information, see https://redis.io/commands/script-flush
5952
5952
  """
5953
5953
 
5954
5954
  # Redis pre 6 had no sync_type.
@@ -5968,7 +5968,7 @@ class ScriptCommands(CommandsProtocol):
5968
5968
  """
5969
5969
  Kill the currently executing Lua script
5970
5970
 
5971
- For more information see https://redis.io/commands/script-kill
5971
+ For more information, see https://redis.io/commands/script-kill
5972
5972
  """
5973
5973
  return self.execute_command("SCRIPT KILL")
5974
5974
 
@@ -5976,7 +5976,7 @@ class ScriptCommands(CommandsProtocol):
5976
5976
  """
5977
5977
  Load a Lua ``script`` into the script cache_data. Returns the SHA.
5978
5978
 
5979
- For more information see https://redis.io/commands/script-load
5979
+ For more information, see https://redis.io/commands/script-load
5980
5980
  """
5981
5981
  return self.execute_command("SCRIPT LOAD", script)
5982
5982
 
@@ -6039,7 +6039,7 @@ class GeoCommands(CommandsProtocol):
6039
6039
  Changed elements include new elements that were added and elements
6040
6040
  whose scores changed.
6041
6041
 
6042
- For more information see https://redis.io/commands/geoadd
6042
+ For more information, see https://redis.io/commands/geoadd
6043
6043
  """
6044
6044
  if nx and xx:
6045
6045
  raise DataError("GEOADD allows either 'nx' or 'xx', not both")
@@ -6064,7 +6064,7 @@ class GeoCommands(CommandsProtocol):
6064
6064
  The units must be one of the following : m, km mi, ft. By default
6065
6065
  meters are used.
6066
6066
 
6067
- For more information see https://redis.io/commands/geodist
6067
+ For more information, see https://redis.io/commands/geodist
6068
6068
  """
6069
6069
  pieces: list[EncodableT] = [name, place1, place2]
6070
6070
  if unit and unit not in ("m", "km", "mi", "ft"):
@@ -6078,7 +6078,7 @@ class GeoCommands(CommandsProtocol):
6078
6078
  Return the geo hash string for each item of ``values`` members of
6079
6079
  the specified key identified by the ``name`` argument.
6080
6080
 
6081
- For more information see https://redis.io/commands/geohash
6081
+ For more information, see https://redis.io/commands/geohash
6082
6082
  """
6083
6083
  return self.execute_command("GEOHASH", name, *values, keys=[name])
6084
6084
 
@@ -6088,7 +6088,7 @@ class GeoCommands(CommandsProtocol):
6088
6088
  the specified key identified by the ``name`` argument. Each position
6089
6089
  is represented by the pairs lon and lat.
6090
6090
 
6091
- For more information see https://redis.io/commands/geopos
6091
+ For more information, see https://redis.io/commands/geopos
6092
6092
  """
6093
6093
  return self.execute_command("GEOPOS", name, *values, keys=[name])
6094
6094
 
@@ -6136,7 +6136,7 @@ class GeoCommands(CommandsProtocol):
6136
6136
  named with a specific key, instead of ``store`` the sorted set
6137
6137
  destination score is set with the distance.
6138
6138
 
6139
- For more information see https://redis.io/commands/georadius
6139
+ For more information, see https://redis.io/commands/georadius
6140
6140
  """
6141
6141
  return self._georadiusgeneric(
6142
6142
  "GEORADIUS",
@@ -6176,7 +6176,7 @@ class GeoCommands(CommandsProtocol):
6176
6176
  and latitude value, it takes the name of a member already existing
6177
6177
  inside the geospatial index represented by the sorted set.
6178
6178
 
6179
- For more information see https://redis.io/commands/georadiusbymember
6179
+ For more information, see https://redis.io/commands/georadiusbymember
6180
6180
  """
6181
6181
  return self._georadiusgeneric(
6182
6182
  "GEORADIUSBYMEMBER",
@@ -6298,7 +6298,7 @@ class GeoCommands(CommandsProtocol):
6298
6298
 
6299
6299
  ``withhash`` indicates to return the geohash string of each place.
6300
6300
 
6301
- For more information see https://redis.io/commands/geosearch
6301
+ For more information, see https://redis.io/commands/geosearch
6302
6302
  """
6303
6303
 
6304
6304
  return self._geosearchgeneric(
@@ -6345,7 +6345,7 @@ class GeoCommands(CommandsProtocol):
6345
6345
  items in a sorted set populated with their distance from the
6346
6346
  center of the circle or box, as a floating-point number.
6347
6347
 
6348
- For more information see https://redis.io/commands/geosearchstore
6348
+ For more information, see https://redis.io/commands/geosearchstore
6349
6349
  """
6350
6350
  return self._geosearchgeneric(
6351
6351
  "GEOSEARCHSTORE",
@@ -6450,7 +6450,7 @@ class ModuleCommands(CommandsProtocol):
6450
6450
  Passes all ``*args`` to the module, during loading.
6451
6451
  Raises ``ModuleError`` if a module is not found at ``path``.
6452
6452
 
6453
- For more information see https://redis.io/commands/module-load
6453
+ For more information, see https://redis.io/commands/module-load
6454
6454
  """
6455
6455
  return self.execute_command("MODULE LOAD", path, *args)
6456
6456
 
@@ -6463,7 +6463,7 @@ class ModuleCommands(CommandsProtocol):
6463
6463
  """
6464
6464
  Loads a module from a dynamic library at runtime with configuration directives.
6465
6465
 
6466
- For more information see https://redis.io/commands/module-loadex
6466
+ For more information, see https://redis.io/commands/module-loadex
6467
6467
  """
6468
6468
  pieces = []
6469
6469
  if options is not None:
@@ -6480,7 +6480,7 @@ class ModuleCommands(CommandsProtocol):
6480
6480
  Unloads the module ``name``.
6481
6481
  Raises ``ModuleError`` if ``name`` is not in loaded modules.
6482
6482
 
6483
- For more information see https://redis.io/commands/module-unload
6483
+ For more information, see https://redis.io/commands/module-unload
6484
6484
  """
6485
6485
  return self.execute_command("MODULE UNLOAD", name)
6486
6486
 
@@ -6489,7 +6489,7 @@ class ModuleCommands(CommandsProtocol):
6489
6489
  Returns a list of dictionaries containing the name and version of
6490
6490
  all loaded modules.
6491
6491
 
6492
- For more information see https://redis.io/commands/module-list
6492
+ For more information, see https://redis.io/commands/module-list
6493
6493
  """
6494
6494
  return self.execute_command("MODULE LIST")
6495
6495
 
@@ -6525,7 +6525,7 @@ class ClusterCommands(CommandsProtocol):
6525
6525
  """
6526
6526
  Disables read queries for a connection to a Redis Cluster slave node.
6527
6527
 
6528
- For more information see https://redis.io/commands/readwrite
6528
+ For more information, see https://redis.io/commands/readwrite
6529
6529
  """
6530
6530
  return self.execute_command("READWRITE", **kwargs)
6531
6531
 
@@ -6533,7 +6533,7 @@ class ClusterCommands(CommandsProtocol):
6533
6533
  """
6534
6534
  Enables read queries for a connection to a Redis Cluster replica node.
6535
6535
 
6536
- For more information see https://redis.io/commands/readonly
6536
+ For more information, see https://redis.io/commands/readonly
6537
6537
  """
6538
6538
  return self.execute_command("READONLY", **kwargs)
6539
6539
 
@@ -6557,7 +6557,7 @@ class FunctionCommands:
6557
6557
  with the new contents.
6558
6558
  Return the library name that was loaded.
6559
6559
 
6560
- For more information see https://redis.io/commands/function-load
6560
+ For more information, see https://redis.io/commands/function-load
6561
6561
  """
6562
6562
  pieces = ["REPLACE"] if replace else []
6563
6563
  pieces.append(code)
@@ -6567,7 +6567,7 @@ class FunctionCommands:
6567
6567
  """
6568
6568
  Delete the library called ``library`` and all its functions.
6569
6569
 
6570
- For more information see https://redis.io/commands/function-delete
6570
+ For more information, see https://redis.io/commands/function-delete
6571
6571
  """
6572
6572
  return self.execute_command("FUNCTION DELETE", library)
6573
6573
 
@@ -6575,7 +6575,7 @@ class FunctionCommands:
6575
6575
  """
6576
6576
  Deletes all the libraries.
6577
6577
 
6578
- For more information see https://redis.io/commands/function-flush
6578
+ For more information, see https://redis.io/commands/function-flush
6579
6579
  """
6580
6580
  return self.execute_command("FUNCTION FLUSH", mode)
6581
6581
 
@@ -6607,7 +6607,7 @@ class FunctionCommands:
6607
6607
  """
6608
6608
  Invoke a function.
6609
6609
 
6610
- For more information see https://redis.io/commands/fcall
6610
+ For more information, see https://redis.io/commands/fcall
6611
6611
  """
6612
6612
  return self._fcall("FCALL", function, numkeys, *keys_and_args)
6613
6613
 
@@ -6618,7 +6618,7 @@ class FunctionCommands:
6618
6618
  This is a read-only variant of the FCALL command that cannot
6619
6619
  execute commands that modify data.
6620
6620
 
6621
- For more information see https://redis.io/commands/fcall_ro
6621
+ For more information, see https://redis.io/commands/fcall_ro
6622
6622
  """
6623
6623
  return self._fcall("FCALL_RO", function, numkeys, *keys_and_args)
6624
6624
 
@@ -6626,7 +6626,7 @@ class FunctionCommands:
6626
6626
  """
6627
6627
  Return the serialized payload of loaded libraries.
6628
6628
 
6629
- For more information see https://redis.io/commands/function-dump
6629
+ For more information, see https://redis.io/commands/function-dump
6630
6630
  """
6631
6631
  from redis.client import NEVER_DECODE
6632
6632
 
@@ -6643,7 +6643,7 @@ class FunctionCommands:
6643
6643
  You can use the optional policy argument to provide a policy
6644
6644
  for handling existing libraries.
6645
6645
 
6646
- For more information see https://redis.io/commands/function-restore
6646
+ For more information, see https://redis.io/commands/function-restore
6647
6647
  """
6648
6648
  return self.execute_command("FUNCTION RESTORE", payload, policy)
6649
6649
 
@@ -6651,7 +6651,7 @@ class FunctionCommands:
6651
6651
  """
6652
6652
  Kill a function that is currently executing.
6653
6653
 
6654
- For more information see https://redis.io/commands/function-kill
6654
+ For more information, see https://redis.io/commands/function-kill
6655
6655
  """
6656
6656
  return self.execute_command("FUNCTION KILL")
6657
6657
 
@@ -6660,7 +6660,7 @@ class FunctionCommands:
6660
6660
  Return information about the function that's currently running
6661
6661
  and information about the available execution engines.
6662
6662
 
6663
- For more information see https://redis.io/commands/function-stats
6663
+ For more information, see https://redis.io/commands/function-stats
6664
6664
  """
6665
6665
  return self.execute_command("FUNCTION STATS")
6666
6666