hyb
2026-01-07 c7f60dc7e9a36596f0e0d1787bd0cca4e9b57bcb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
Ë
 
çúh_=ãóˆ—ddlZddlmZmZddlmZmZmZmZm    Z    ddl
m Z ddl m Z ddlmZddlmZdd    lmZGd
„d «Zy) éN)ÚJSONDecodeErrorÚloads)ÚDictÚListÚOptionalÚTupleÚUnion)Ú    DataError)Údeprecated_functioné)ÚJsonType)Údecode_dict_keys)ÚPathcóT—eZdZdZej
«fdedeedede    ee
fd„Z         d<dedede
d    ee
d
ee
de    ee
f d „Z deded e
dede    ee
f
d „Z ej
«fdedeede    ee
fd„Zej
«dfdedeed ee
de    eefd„Zdeded    e
d
e
de    ee
f
d„Zej
«fdedeede    efd„Zej
«fdedeede    fd„Zej
«fdedeede    ee    efd„Zej
«fdedeede    ee
fd„Zdedede
defd„Zedd¬«dedede
defd„«Zej
«fdedeede
fd„Zej
«fdedeede
fd„ZeZdd œded!eedee    efd"„Zd#e    edede    efd$„Z            d=deded%ed&eed'eed(eedeefd)„Zd*e    eeeefdeefd+„Z     d>deded%ed(eedeef
d,„Z!            d=deded-ed&eed'eed(eedeefd.„Z"            d=d/ed0ed&eed'eed(eede#eeff d1„Z$d?dedeede    ee
fd2„Z%ej
«fdedeede&ee    ee
ffd3„Z'ej
«fded4edeede&e
e    ee
ffd5„Z(dej
«fd6edeedeede&e
e    effd7„Z)edd8¬«d9„«Z*edd8¬«d:„«Z+edd8¬«d;„«Z,y)@Ú JSONCommandszjson commands.ÚnameÚpathÚargsÚreturncó—|t|«g}|D]"}|j|j|««Œ$|jdg|¢­ŽS)z½Append the objects ``args`` to the array under the
        ``path` in key ``name``.
 
        For more information see `JSON.ARRAPPEND <https://redis.io/commands/json.arrappend>`_..
        zJSON.ARRAPPEND©ÚstrÚappendÚ_encodeÚexecute_command)ÚselfrrrÚpiecesÚos      õoH:\项目\archive\测试组\脚本\Change_password\venv_build\Lib\site-packages\redis/commands/json/commands.pyÚ    arrappendzJSONCommands.arrappendsN€ðœ˜D›    Ð"ˆØò    +ˆAØ M‰M˜$Ÿ,™, q›/Õ *ð    +à#ˆt×#Ñ#Ð$4Ð>°vÒ>Ð>óNÚscalarÚstartÚstopcó¶—|t|«|j|«g}|$|j|«||j|«|jdg|¢­d|giŽS)a:
        Return the index of ``scalar`` in the JSON array under ``path`` at key
        ``name``.
 
        The search can be limited using the optional inclusive ``start``
        and exclusive ``stop`` indices.
 
        For more information see `JSON.ARRINDEX <https://redis.io/commands/json.arrindex>`_.
        z JSON.ARRINDEXÚkeys)rrrr)rrrr"r#r$rs       rÚarrindexzJSONCommands.arrindexs`€ð"œ˜D›     4§<¡<°Ó#7Ð8ˆØ Ð Ø M‰M˜%Ô  ØÐØ— ‘ ˜dÔ#à#ˆt×#Ñ# OÐJ°fÒJÀDÀ6ÑJÐJr!Úindexcó’—|t|«|g}|D]"}|j|j|««Œ$|jdg|¢­ŽS)zÏInsert the objects ``args`` to the array at index ``index``
        under the ``path` in key ``name``.
 
        For more information see `JSON.ARRINSERT <https://redis.io/commands/json.arrinsert>`_.
        zJSON.ARRINSERTr)rrrr(rrrs       rÚ    arrinsertzJSONCommands.arrinsert6sP€ðœ˜D›     5Ð)ˆØò    +ˆAØ M‰M˜$Ÿ,™, q›/Õ *ð    +à#ˆt×#Ñ#Ð$4Ð>°vÒ>Ð>r!có@—|jd|t|«|g¬«S)z³Return the length of the array JSON value under ``path``
        at key``name``.
 
        For more information see `JSON.ARRLEN <https://redis.io/commands/json.arrlen>`_.
        z JSON.ARRLEN©r&©rr©rrrs   rÚarrlenzJSONCommands.arrlenCó$€ð×#Ñ# M°4¼¸T»È$ÈÐ#ÓPÐPr!éÿÿÿÿcó<—|jd|t|«|«S)z¿Pop the element at ``index`` in the array JSON value under
        ``path`` at key ``name``.
 
        For more information see `JSON.ARRPOP <https://redis.io/commands/json.arrpop>`_.
        z JSON.ARRPOPr-)rrrr(s    rÚarrpopzJSONCommands.arrpopMs€ð×#Ñ# M°4¼¸T»ÀEÓJÐJr!có>—|jd|t|«||«S)zÝTrim the array JSON value under ``path`` at key ``name`` to the
        inclusive range given by ``start`` and ``stop``.
 
        For more information see `JSON.ARRTRIM <https://redis.io/commands/json.arrtrim>`_.
        z JSON.ARRTRIMr-)rrrr#r$s     rÚarrtrimzJSONCommands.arrtrimZs!€ð×#Ñ# N°D¼#¸d»)ÀUÈDÓQÐQr!có@—|jd|t|«|g¬«S)zŸGet the type of the JSON value under ``path`` from key ``name``.
 
        For more information see `JSON.TYPE <https://redis.io/commands/json.type>`_.
        z    JSON.TYPEr,r-r.s   rÚtypezJSONCommands.typedó$€ð
×#Ñ# K°´s¸4³yÈÀvÐ#ÓNÐNr!có@—|jd|t|«|g¬«S)z”Return the JSON value under ``path`` at key ``name``.
 
        For more information see `JSON.RESP <https://redis.io/commands/json.resp>`_.
        z    JSON.RESPr,r-r.s   rÚrespzJSONCommands.respkr8r!có@—|jd|t|«|g¬«S)z¾Return the key names in the dictionary JSON value under ``path`` at
        key ``name``.
 
        For more information see `JSON.OBJKEYS <https://redis.io/commands/json.objkeys>`_.
        z JSON.OBJKEYSr,r-r.s   rÚobjkeyszJSONCommands.objkeysrs$€ð×#Ñ# N°D¼#¸d»)È4È&Ð#ÓQÐQr!có@—|jd|t|«|g¬«S)z¹Return the length of the dictionary JSON value under ``path`` at key
        ``name``.
 
        For more information see `JSON.OBJLEN <https://redis.io/commands/json.objlen>`_.
        z JSON.OBJLENr,r-r.s   rÚobjlenzJSONCommands.objlen|r0r!ÚnumbercóZ—|jd|t|«|j|««S)zèIncrement the numeric (integer or floating point) JSON value under
        ``path`` at key ``name`` by the provided ``number``.
 
        For more information see `JSON.NUMINCRBY <https://redis.io/commands/json.numincrby>`_.
        zJSON.NUMINCRBY©rrr©rrrr?s    rÚ    numincrbyzJSONCommands.numincrby†s-€ð ×#Ñ#Ø ˜d¤C¨£I¨t¯|©|¸FÓ/Có
ð    
r!z4.0.0z deprecated since redisjson 1.0.0)ÚversionÚreasoncóZ—|jd|t|«|j|««S)zéMultiply the numeric (integer or floating point) JSON value under
        ``path`` at key ``name`` with the provided ``number``.
 
        For more information see `JSON.NUMMULTBY <https://redis.io/commands/json.nummultby>`_.
        zJSON.NUMMULTBYrArBs    rÚ    nummultbyzJSONCommands.nummultbys-€ð×#Ñ#Ø ˜d¤C¨£I¨t¯|©|¸FÓ/Có
ð    
r!có:—|jd|t|««S)aEmpty arrays and objects (to have zero slots/keys without deleting the
        array/object).
 
        Return the count of cleared paths (ignoring non-array and non-objects
        paths).
 
        For more information see `JSON.CLEAR <https://redis.io/commands/json.clear>`_.
        z
JSON.CLEARr-r.s   rÚclearzJSONCommands.clear›s€ð×#Ñ# L°$¼¸D»    ÓBÐBr!Úkeycó:—|jd|t|««S)z˜Delete the JSON value stored at key ``key`` under ``path``.
 
        For more information see `JSON.DEL <https://redis.io/commands/json.del>`_.
        zJSON.DELr-)rrJrs   rÚdeletezJSONCommands.delete¦s€ð
×#Ñ# J°´S¸³YÓ?Ð?r!F)Ú    no_escaperMcó"—|g}|r|jd«t|«dk(r$|jtj««n!|D]}|jt    |««Œ    |j
dg|¢­d|giŽS#t $rYywxYw)aD
        Get the object stored as a JSON value at key ``name``.
 
        ``args`` is zero or more paths, and defaults to root path
        ```no_escape`` is a boolean flag to add no_escape option to get
        non-ascii characters
 
        For more information see `JSON.GET <https://redis.io/commands/json.get>`_.
        ÚnoescaperzJSON.GETr&N)rÚlenrÚ    root_pathrrÚ    TypeError)rrrMrrÚps      rÚgetzJSONCommands.get°s€ðˆÙ Ø M‰M˜*Ô %ä ˆt‹9˜Š>Ø M‰Mœ$Ÿ.™.Ó*Õ +ðò &Ø— ‘ œc !›fÕ%ð &ð
    Ø'4×'Ñ'¨
ÐI°VÒIÀ4À&ÑIÐ IøÜò    Ùð    úsÁ+B    B Br&cóp—g}||z }|jt|««|jdg|¢­d|iŽS)zÏ
        Get the objects stored as a JSON values under ``path``. ``keys``
        is a list of one or more keys.
 
        For more information see `JSON.MGET <https://redis.io/commands/json.mget>`_.
        z    JSON.MGETr&©rrr)rr&rrs    rÚmgetzJSONCommands.mgetÎs?€ðˆØ$‰ˆØ ‰ ”c˜$“iÔ Ø#ˆt×#Ñ# KÐD°&ÒD¸tÑDÐDr!ÚobjÚnxÚxxÚ decode_keyscóè—|r t|«}|t|«|j|«g}|r |r td«‚|r|j    d«n|r|j    d«|j
dg|¢­ŽS)aü
        Set the JSON value at key ``name`` under the ``path`` to ``obj``.
 
        ``nx`` if set to True, set ``value`` only if it does not exist.
        ``xx`` if set to True, set ``value`` only if it exists.
        ``decode_keys`` If set to True, the keys of ``obj`` will be decoded
        with utf-8.
 
        For the purpose of using this within a pipeline, this command is also
        aliased to JSON.SET.
 
        For more information see `JSON.SET <https://redis.io/commands/json.set>`_.
        zNnx and xx are mutually exclusive: use one, the other or neither - but not bothÚNXÚXXzJSON.SET)rrrÚ    Exceptionrr)rrrrXrYrZr[rs        rÚsetzJSONCommands.setÚs{€ñ, Ü" 3Ó'ˆCàœ˜D›     4§<¡<°Ó#4Ð5ˆñ ‘"Üð2óð ñØ M‰M˜$Õ Ù Ø M‰M˜$Ô Ø#ˆt×#Ñ# JÐ8°Ò8Ð8r!Útripletsc    ó¤—g}|D]7}|j|dt|d«|j|d«g«Œ9|jdg|¢­ŽS)a€
        Set the JSON value at key ``name`` under the ``path`` to ``obj``
        for one or more keys.
 
        ``triplets`` is a list of one or more triplets of key, path, value.
 
        For the purpose of using this within a pipeline, this command is also
        aliased to JSON.MSET.
 
        For more information see `JSON.MSET <https://redis.io/commands/json.mset>`_.
        rr éz    JSON.MSET)Úextendrrr)rrarÚtriplets    rÚmsetzJSONCommands.msets^€ðˆØò    SˆGØ M‰M˜7 1™:¤s¨7°1©:£¸¿ ¹ ÀWÈQÁZÓ8PÐQÕ Rð    Sà#ˆt×#Ñ# KÐ9°&Ò9Ð9r!có|—|r t|«}|t|«|j|«g}|jdg|¢­ŽS)aa
        Merges a given JSON value into matching paths. Consequently, JSON values
        at matching paths are updated, deleted, or expanded with new children
 
        ``decode_keys`` If set to True, the keys of ``obj`` will be decoded
        with utf-8.
 
        For more information see `JSON.MERGE <https://redis.io/commands/json.merge>`_.
        z
JSON.MERGE)rrrr)rrrrXr[rs      rÚmergezJSONCommands.mergesB€ñ  Ü" 3Ó'ˆCàœ˜D›     4§<¡<°Ó#4Ð5ˆà#ˆt×#Ñ# LÐ:°6Ò:Ð:r!Ú    file_namecó¢—t|«5}t|j««}ddd«|j|||||¬«S#1swYŒ xYw)ah
        Set the JSON value at key ``name`` under the ``path`` to the content
        of the json file ``file_name``.
 
        ``nx`` if set to True, set ``value`` only if it does not exist.
        ``xx`` if set to True, set ``value`` only if it exists.
        ``decode_keys`` If set to True, the keys of ``obj`` will be decoded
        with utf-8.
 
        N©rYrZr[)ÚopenrÚreadr`)    rrrrirYrZr[ÚfpÚ file_contents             rÚset_filezJSONCommands.set_file)sO€ô()‹_ð    , Ü  §¡£Ó+ˆL÷    ,ðx‰x˜˜d L°R¸BÈKˆxÓXÐX÷    ,ð    ,ús ŒAÁAÚ    json_pathÚ root_folderc
ó—i}tj|«D]^\}}}    |    D]S}
tjj||
«}     | j    d«d} |j | || |||¬«d|| <ŒUŒ`|S#t $rd|| <YŒjwxYw)au
        Iterate over ``root_folder`` and set each JSON file to a value
        under ``json_path`` with the file name as the key.
 
        ``nx`` if set to True, set ``value`` only if it does not exist.
        ``xx`` if set to True, set ``value`` only if it exists.
        ``decode_keys`` If set to True, the keys of ``obj`` will be decoded
        with utf-8.
 
        ú.rrkTF)ÚosÚwalkrÚjoinÚrsplitrpr) rrqrrrYrZr[Úset_files_resultÚrootÚdirsÚfilesÚfileÚ    file_pathris              rÚset_pathzJSONCommands.set_pathBsº€ð$ÐÜ!#§¡¨Ó!5ò    8Ñ ˆD$˜Øò 8ÜŸG™GŸL™L¨¨tÓ4    ð 8Ø )× 0Ñ 0°Ó 5°aÑ 8IØ—M‘MØ!Ø!Ø!ØØØ$/ð "ôð37Ð$ YÒ/ñ 8ð    8ð" Ðøô'ò8Ø27Ð$ YÓ/ð8úsÁ0A;Á;B  B cón—|g}||jt|««|jdg|¢­d|giŽS)zµReturn the length of the string JSON value under ``path`` at key
        ``name``.
 
        For more information see `JSON.STRLEN <https://redis.io/commands/json.strlen>`_.
        z JSON.STRLENr&rV)rrrrs    rÚstrlenzJSONCommands.strlenhs@€ð ˆØ Ð Ø M‰Mœ#˜d›)Ô $Ø#ˆt×#Ñ# MÐH°FÒHÀ$ÀÑHÐHr!có:—|jd|t|««S)z¸Toggle boolean value under ``path`` at key ``name``.
        returning the new value.
 
        For more information see `JSON.TOGGLE <https://redis.io/commands/json.toggle>`_.
        z JSON.TOGGLEr-r.s   rÚtogglezJSONCommands.toggless€ð×#Ñ# M°4¼¸T»ÓCÐCr!Úvaluecób—|t|«|j|«g}|jdg|¢­ŽS)aCAppend to the string JSON value. If two options are specified after
        the key name, the path is determined to be the first. If a single
        option is passed, then the root_path (i.e Path.root_path()) is used.
 
        For more information see `JSON.STRAPPEND <https://redis.io/commands/json.strappend>`_.
        zJSON.STRAPPEND)rrr)rrr„rrs     rÚ    strappendzJSONCommands.strappend}s6€ðœ˜D›     4§<¡<°Ó#6Ð7ˆØ#ˆt×#Ñ#Ð$4Ð>°vÒ>Ð>r!Ú
subcommandcóâ—ddg}||vrtdt|««‚|g}|dk(r8|€ td«‚|j|«|jt|««|jdg|¢­ŽS)z¶Return the memory usage in bytes of a value under ``path`` from
        key ``name``.
 
        For more information see `JSON.DEBUG <https://redis.io/commands/json.debug>`_.
        ÚMEMORYÚHELPzThe only valid subcommands are zNo key specifiedz
JSON.DEBUG)r
rrr)rr‡rJrÚvalid_subcommandsrs      rÚdebugzJSONCommands.debug‰s€€ð& vÐ.ÐØ Ð.Ñ .ÜÐ=¼sÐCTÓ?UÓVÐ VؐˆØ ˜Ò !؈{ÜР2Ó3Ð3Ø M‰M˜#Ô Ø M‰Mœ#˜d›)Ô $Ø#ˆt×#Ñ# LÐ:°6Ò:Ð:r!z/redisjson-py supported this, call get directly.có&—|j|i|¤ŽS©N)rT©rrÚkwargss   rÚjsongetzJSONCommands.jsongetŸó€ðˆtx‰x˜Ð( Ñ(Ð(r!có&—|j|i|¤ŽSrŽ)rWrs   rÚjsonmgetzJSONCommands.jsonmget¥s€ðˆty‰y˜$Ð) &Ñ)Ð)r!có&—|j|i|¤ŽSrŽ)r`rs   rÚjsonsetzJSONCommands.jsonset«r’r!)NN)FFF)FrŽ)-Ú__name__Ú
__module__Ú __qualname__Ú__doc__rrQrrr rÚintr r'r*r/r3r5r7r:r<r>rCr rGrIrLÚforgetÚboolrTrWr`rrfrhrprrrr    rƒr†rŒr‘r”r–©r!rrr s¤„Ùð0>¨t¯~©~Ó/?ñ ?Øð ?Ø'¨™}ð ?ØHPð ?à     ˆhs‰mÑ    ó ?ð$ $Ø"ñ KàðKððKðð    Kð
˜‰}ð Kð s‰mð Kð
ˆhs‰mÑ    óKð2 ?Øð ?Ø"ð ?Ø+.ð ?Ø7?ð ?à     ˆhs‰mÑ    ó ?ð0>¨t¯~©~Ó/?ñQØðQØ'¨™}ðQà     ˆhs‰mÑ    óQð-˜dŸn™nÓ.Ø!ñ     Kàð Kðs‰mð Kð˜‰}ð     Kð
 
ˆhs‰mÑ    ó KðRØðRØ"ðRØ+.ðRØ69ðRà     ˆhs‰mÑ    óRð5C°D·N±NÓ4DñO˜ðO H¨S¡MðOÈÈcÉóOð5C°D·N±NÓ4DñO˜ðO H¨S¡MðOÈóOð0>¨t¯~©~Ó/?ñRØðRØ'¨™}ðRà     ˆht˜C‘yÑ!Ñ    "óRð0>¨t¯~©~Ó/?ñQØðQØ'¨™}ðQà     ˆhs‰mÑ    óQð
˜cð
¨ð
°cð
¸có
ñ Ð1SÔTð
˜cð
¨ð
°cð
¸cò
óUð
ð6D°T·^±^Ó5Eñ    C˜#ð    C X¨c¡]ð    CÈ#ó    Cð6D°T·^±^Ó5Eñ@˜#ð@ X¨c¡]ð@È#ó@ð€Fð=BòØðØ+3°D©>ðà    $x‘.Ñ    !óð<
E˜˜c™ð
E¨#ð
E°$°x±.ó
Eð"#Ø"Ø&+ñ%9àð%9ðð%9ðð    %9ð
T‰Nð %9ð T‰Nð %9ð˜d‘^ð%9ð
#‰ó%9ðN:˜T %¨¨S°(Ð(:Ñ";Ñ<ð:ÀÈ#Áó:ð,',ñ ;àð;ðð;ðð    ;ð
˜d‘^ð ;ð
#‰ó ;ð8#Ø"Ø&+ñYàðYððYðð    Yð
T‰Nð Yð T‰Nð Yð˜d‘^ðYð
#‰óYð:#Ø"Ø&+ñ $ àð$ ðð$ ð T‰Nð    $ ð
T‰Nð $ ð ˜d‘^ð $ ð
ˆc4ˆi‰ó$ ñL    I˜3ð    I h¨s¡mð    I¸tÀHÈSÁMÑ?Ró    Ið0>¨t¯~©~Ó/?ñDØðDØ'¨™}ðDà    ˆtT˜( 3™-Ñ(Ð(Ñ    )óDð<J¸4¿>¹>Ó;Kñ
?Øð
?Ø #ð
?Ø+3°C©=ð
?à    ˆsD˜ #™Ñ'Ð'Ñ    (ó
?ð"Ø,˜dŸn™nÓ.ñ    ;àð;ðc‰]ð;ðs‰mð    ;ð
 
ˆsD˜‘Iˆ~Ñ    ó ;ñ,ØРQôñ)óð)ñØРQôñ*óð*ñØРQôñ)óñ)r!r)ruÚjsonrrÚtypingrrrrr    Úredis.exceptionsr
Ú redis.utilsr Ú_utilr Údecodersrrrrržr!rú<module>r¥s,ðÛ    ß'ß5Õ5å&Ý+åÝ&Ý÷b)òb)r!