yzk_wechat_event/utils/redis_utils.py

40 lines
1.1 KiB
Python

import json
from django_redis import get_redis_connection
class RedisUtils:
def __init__(self, cache='default'):
self.redis_conn = get_redis_connection(cache)
def write_value_as_string(self, key, value, ex=None):
if ex:
return self.set_ex(key, ex, json.dumps(value))
return self.set(key, json.dumps(value))
def read_value_to_object(self, key):
value = self.redis_conn.get(key)
if value:
return json.loads(value)
def set(self, key, value):
return self.redis_conn.set(key, value)
def get(self, key):
value = self.redis_conn.get(key)
if value:
return value.decode()
def set_ex(self, key, timeout, value):
return self.redis_conn.setex(key, time=timeout, value=value)
def hset(self, key, field, value):
return self.redis_conn.hset(key, field, value)
def hget(self, key, field):
value = self.redis_conn.hget(key, field)
return value and value.decode()
def delete(self, key):
return self.redis_conn.delete(key)