@@ -196,16 +196,19 @@ from cashews import cache
196
196
197
197
cache.setup(" mem://" ) # configure as in-memory cache
198
198
199
- await cache.set(key = " key" , value = 90 , expire = 60 , exist = None ) # -> bool
199
+ await cache.set(key = " key" , value = 90 , expire = " 2h " , exist = None ) # -> bool
200
200
await cache.set_raw(key = " key" , value = " str" ) # -> bool
201
+ await cache.set_many({" key1" : value, " key2" : value}) # -> None
201
202
202
203
await cache.get(" key" , default = None ) # -> Any
203
- await cache.get_raw(" key" )
204
- await cache.get_many(" key1" , " key2" , default = None )
204
+ await cache.get_or_set(" key" , default = awaitable_or_callable, expire = " 1h" ) # -> Any
205
+ await cache.get_raw(" key" ) # -> Any
206
+ await cache.get_many(" key1" , " key2" , default = None ) # -> tuple[Any]
205
207
async for key, value in cache.get_match(" pattern:*" , batch_size = 100 ):
206
208
...
207
209
208
210
await cache.incr(" key" ) # -> int
211
+ await cache.exists(" key" ) # -> bool
209
212
210
213
await cache.delete(" key" )
211
214
await cache.delete_many(" key1" , " key2" )
@@ -928,8 +931,8 @@ E.g. A simple middleware to use it in a web app:
928
931
async def add_from_cache_headers (request : Request, call_next ):
929
932
with cache.detect as detector:
930
933
response = await call_next(request)
931
- if detector.keys :
932
- key = list (detector.keys .keys())[0 ]
934
+ if detector.calls :
935
+ key = list (detector.calls .keys())[0 ]
933
936
response.headers[" X-From-Cache" ] = key
934
937
expire = await cache.get_expire(key)
935
938
response.headers[" X-From-Cache-Expire-In-Seconds" ] = str (expire)
@@ -1004,7 +1007,7 @@ Here we want to have some way to protect our code from race conditions and do op
1004
1007
1005
1008
Cashews support transaction operations:
1006
1009
1007
- > :warning : \*\* Warning: transaction operations are ` set ` , ` set_many ` , ` delete ` , ` delete_many ` , ` delete_match ` and ` incr `
1010
+ > :warning : \*\* Warning: transaction operations are ` set ` , ` set_many ` , ` delete ` , ` delete_many ` , ` delete_match ` and ` incr `
1008
1011
1009
1012
``` python
1010
1013
from cashews import cache
0 commit comments