Redis 使用记录
封装调用redis类
import redis from conf.config import RedisConfig
class RedisConfig: redis_json = config_data['redis_config'] redis_pwd = env.get('project_name').get('pwd') host = redis_json.get("host") dialog_states_db = redis_json.get("dialog_states_db") dialog_states_url = "redis://:{}@{}:{}".format(quote(redis_pwd), host, dialog_states_db) master_name = redis_json['master_name'] class RedisClient: def __init__(self): self.client = redis.StrictRedis(host=RedisConfig.host, port=RedisConfig.port, db=RedisConfig.db, decode_responses=True, password=RedisConfig.redis_pwd) def set(self, key, value, ex=None): """ 设置key-value :param key: 键名 :param value: 要设置的值 :param ex: 过期时间(秒) """ return self.client.set(name=key, value=value, ex=ex) def get(self, key): """ 获取key-value :param key: 键名 """ return self.client.get(name=key) def delete(self, key): """ 删除key :param key: 键名 """ return self.client.delete(key) def add_set(self, key, value): """ 集合中存在该元素则返回0,不存在则添加进集合中,并返回1 如果key不存在,则创建key集合,并添加元素进去,返回1 """ return self.client.sadd(key, value) def is_inset(self, key, value): """ 判断value是否在key集合中,返回布尔值 """ return self.client.sismember(key, value) def exists(self, key): """ 判断key是否存在 :param key: 键名 """ return self.client.exists(key) def incr(self, key, amount=1): """ 递增 :param key: 键名 :param amount: 递增量 """ return self.client.incr(name=key, amount=amount) def expire(self, key, time): """ 设置过期时间 :param key: 键名 :param time: 生存时间(秒) """ return self.client.expire(name=key, time=time) def ttl(self, key): """ 获取剩余存活时间 :param key: 键名 """ return self.client.ttl(name=key) def close(self): """ 关闭连接 """ self.client.close()
Redis中的TTL
TTL用于设置生存时间,指定键的有效时间,当时间到达0时过期,redis会进行删除,但不是实时的,当过期的键被访问时会被删除或redis定时(默认100毫秒)超时检查删除。
参考:
redis里TTL如果到0是不是就删除了_mob64ca12df9869的技术博客_51CTO博客