litellm/litellm/caching
Krish Dholakia 4bd64c872a
fix(internal_user_endpoints.py): allow resetting spend/max budget on … (#10993)
* fix(internal_user_endpoints.py): allow resetting spend/max budget on user update

Fixes https://github.com/BerriAI/litellm/issues/10495

* fix(internal_user_endpoints.py): correctly return set spend for user on /user/new

* fix(auth_checks.py): check redis for key object before checking in-memory

allows for quicker updates

* feat(internal_user_endpoints.py): update cache object when user is updated + check redis on user values being updated

* fix(auth_checks.py): use redis cache when user updated

* fix: set default value of 'expires' to None
2025-05-20 23:08:26 -07:00
..
__init__.py (Redis Cluster) - Fixes for using redis cluster + pipeline (#8442) 2025-02-12 18:01:32 -08:00
_internal_lru_cache.py (litellm SDK perf improvements) - handle cases when unable to lookup model in model cost map (#7750) 2025-01-13 19:58:46 -08:00
base_cache.py build(pyproject.toml): add new dev dependencies - for type checking (#9631) 2025-03-29 11:02:13 -07:00
caching.py Embedding caching fixes - handle str -> list cache, set usage tokens for cache hits, combine usage tokens on partial cache hits (#10424) 2025-04-29 21:21:28 -07:00
caching_handler.py fix(caching_handler.py): fix embedding str caching result (#10700) 2025-05-09 23:37:02 -07:00
disk_cache.py build(pyproject.toml): add new dev dependencies - for type checking (#9631) 2025-03-29 11:02:13 -07:00
dual_cache.py fix(internal_user_endpoints.py): allow resetting spend/max budget on … (#10993) 2025-05-20 23:08:26 -07:00
in_memory_cache.py Add key-level multi-instance tpm/rpm/max parallel request limiting (#10458) 2025-04-30 21:32:31 -07:00
llm_caching_handler.py Fix pytest event loop warning (#10512) 2025-05-02 19:43:18 -07:00
qdrant_semantic_cache.py Squashed commit of the following: (#9709) 2025-04-02 21:24:54 -07:00
Readme.md (refactor) - caching use separate files for each cache class (#6251) 2024-10-16 13:17:21 +05:30
redis_cache.py Add customer + model per key level multi-instance tpm/rpm limiting (#10518) 2025-05-03 10:28:55 -07:00
redis_cluster_cache.py build(pyproject.toml): add new dev dependencies - for type checking (#9631) 2025-03-29 11:02:13 -07:00
redis_semantic_cache.py build(pyproject.toml): add new dev dependencies - for type checking (#9631) 2025-03-29 11:02:13 -07:00
s3_cache.py build(pyproject.toml): add new dev dependencies - for type checking (#9631) 2025-03-29 11:02:13 -07:00

Caching on LiteLLM

LiteLLM supports multiple caching mechanisms. This allows users to choose the most suitable caching solution for their use case.

The following caching mechanisms are supported:

  1. RedisCache
  2. RedisSemanticCache
  3. QdrantSemanticCache
  4. InMemoryCache
  5. DiskCache
  6. S3Cache
  7. DualCache (updates both Redis and an in-memory cache simultaneously)

Folder Structure

litellm/caching/
├── base_cache.py
├── caching.py
├── caching_handler.py
├── disk_cache.py
├── dual_cache.py
├── in_memory_cache.py
├── qdrant_semantic_cache.py
├── redis_cache.py
├── redis_semantic_cache.py
├── s3_cache.py

Documentation