Martijn Pieters
d10f4af6d6
Import supported backends
...
This ensures that any syntax issues are caught early (by type checkers
and tests). Backends that are missing dependencies are skipped. By
importing, this exposed an issue where the redis type annotations
raised an exception, which has been fixed by using forward annotations.
To help avoid import dependency hell, the Backend ABC has been moved to
`fastapi_cache.types`. In the process, it has been made an actual ABC.
2023-05-14 17:02:30 +01:00
Martijn Pieters
0763cd7b95
Add pyright strict type checking
2023-05-11 12:57:28 +01:00
Martijn Pieters
941cd044c7
Full mypy --strict type checking pass
2023-05-11 12:34:08 +01:00
Martijn Pieters
23d439f83a
Make backends store bytes instead of strings
...
This is, for the majority of backends, the native format anyway, and so
we save encoding and decoding when using the PickleCodec or if (in future)
a orjson Coder was to be added.
For the JsonCodec, the only thing that changed is the location where the
JSON data is encoded to bytes and decoded back again to a string.
2023-05-10 17:35:15 +01:00
Martijn Pieters
72c42325ab
The backend needs an async redis client with a pipeline method
...
The Abstract* classes lack the pipeline method so are not sufficient.
2023-04-27 16:33:43 +01:00
Martijn Pieters
6af14be049
Provide annotation for the session attribute
2023-04-27 16:32:07 +01:00
long2ice
27acce3160
ci: fix poetry
2023-02-15 10:45:19 +08:00
hackjammer
e8193b5c22
enabled redis in cluster mode
2023-01-15 21:54:16 +00:00
long2ice
8f0920d0d7
ci: fix
2022-11-07 16:39:17 +08:00
Ivan Moiseev
10f819483c
fix: replace pipe for Optional
2022-11-03 15:49:58 +04:00
Ivan Moiseev
4c6abcf786
feat: add more type hints
2022-10-22 20:59:37 +04:00
long2ice
824e2e145f
Replace aioredis with redis-py
2022-06-17 11:01:47 +08:00
kailyn
2f1b1409b9
bugfix: '+' is more prior than 'or'
2022-04-24 11:19:20 +08:00
Jimmy
11f01a21f5
Remove unused variable assignment
2021-10-07 17:34:06 +02:00
Jimmy
cdcfdc6ae6
Apply styling
2021-10-06 10:10:22 +02:00
Jimmy
a40c54e9e7
Update README & add usage
2021-09-29 16:22:04 +02:00
Jimmy
d67797a1d5
Add DynamoDB backend
2021-09-29 16:14:28 +02:00
long2ice
767241be41
- Fix redis cache.
...
- Encode key builder.
2021-07-26 16:33:22 +08:00
David Velez
2dd37b09ab
This fixes #24 . Looking at aioredis library, the client.py keyword for set is now 'ex', not 'expire'. Tested this fix and fast-cache now works without issue.
2021-07-22 10:17:52 -05:00
long2ice
1d0c245a70
- Fix default expire for memcached. ( #13 )
...
- Update default key builder. (#12 )
2021-03-20 14:42:29 +08:00
long2ice
0fd9e53e06
update memory cache
2020-11-10 10:34:52 +08:00
long2ice
ff8b4b385d
Merge remote-tracking branch 'origin/master'
2020-11-09 20:32:30 +08:00
long2ice
fd3ffa0d21
update memcached
2020-11-09 20:32:23 +08:00
long2ice
80536a1429
fix ci error
2020-11-04 12:58:01 +08:00
long2ice
e483e0dc55
add clear method
2020-11-03 18:08:06 +08:00
long2ice
c0259bc699
Add in-memory support.
2020-10-08 15:10:34 +08:00
long2ice
c20bb73f27
first commit
2020-08-26 18:04:57 +08:00