el11.net
Neler yeni

FastAPI: Pydantic v2, SQLModel ve Redis Cache

K

KamilPolat13 

Yeni Üye
Administrator
Üye
Puan 0
Çözümler 0
photo-1526374965328-7f61d4dc18c5


Kod:
from fastapi import FastAPI,Depends,HTTPException
from sqlmodel import SQLModel,Field,Session,select
app=FastAPI()
class Post(SQLModel,table=True):
    id:int|None=Field(default=None,primary_key=True)
    title:str=Field(min_length=3,max_length=200)
    body:str
@app.get('/posts/{post_id}')
async def get_post(post_id:int,db:Session=Depends(get_db)):
    p=db.get(Post,post_id)
    if not p: raise HTTPException(404,'Bulunamadi')
    return p

Redis Cache
Kod:
r=redis.from_url(os.getenv('REDIS_URL'))
@app.get('/posts')
async def list_posts():
    c=await r.get('posts:all')
    if c: return json.loads(c)
    posts=db.exec(select(Post)).all()
    await r.setex('posts:all',300,json.dumps([p.dict() for p in posts]))
    return posts
 
Harika paylaşım!
 
Katılıyorum tamamen.
 
Bu konuda ben de benzer deneyim yaşadım.
 
Bookmarkledim!
 

Tema özelleştirme sistemi

Bu menüden forum temasının bazı alanlarını kendinize özel olarak düzenleye bilirsiniz

Geri
Reklam
GlomaxGPT ile tanışın. Şimdi tamamen ücretsiz, el11.net üyelerine özel.
Reklam
Reklam
Reklam
Reklam