Advertisement
ankdroid

Untitled

Mar 7th, 2023
752
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.99 KB | None | 0 0
  1. import redis
  2. from odoo import models, fields, api
  3.  
  4. class PartnerCache(models.Model):
  5.     _inherit = 'res.partner'
  6.  
  7.     @api.model
  8.     def get_from_cache(self, key):
  9.         r = redis.Redis(host='localhost', port=6379, db=0)
  10.         return r.get(key)
  11.  
  12.     @api.model
  13.     def set_to_cache(self, key, value):
  14.         r = redis.Redis(host='localhost', port=6379, db=0)
  15.         r.set(key, value)
  16.    
  17.       @api.model
  18.     def search(self, args, offset=0, limit=None, order=None, count=False):
  19.         # Cek apakah data sudah di-cache atau belum
  20.         cache_key = str(args) + str(offset) + str(limit) + str(order) + str(count)
  21.         cached_data = PartnerCache.get_from_cache(cache_key)
  22.         if cached_data:
  23.             return cached_data
  24.  
  25.         # Jika tidak ada di-cache, panggil fungsi asli dan simpan ke Redis cache
  26.         data = super(ResPartner, self).search(args, offset, limit, order, count)
  27.         PartnerCache.set_to_cache(cache_key, data)
  28.  
  29.         return data
  30.  
  31.  
  32.  
  33.  
  34.  
  35.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement