当前位置: 首页 > news >正文

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博客

相关文章:

Redis 使用记录

封装调用redis类 import redis from conf.config import RedisConfigclass 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&q…...

IDEA实用小技巧

1. IDEA代码提示忽略大小写 打开设置,点击Editor–>General–>Code Completion ,然后将右侧的Match Case前面的选框去掉勾选。 2. 快速查找接口RestfulToolkitX插件 该插件可以快速查找接口(快捷键为CTRL\) 还会在侧边栏…...

PEI转染试剂对血清的敏感性研究

在细胞生物学和基因工程领域,聚乙烯亚胺(PEI)作为一种常用的转染试剂,广泛应用于基因的递送。然而,PEI转染试剂对血清的敏感性一直是研究的热点问题。转染过程中,血清作为培养基的成分之一,可能…...

手机怎样改网络ip地址?内容详尽实用

随着网络技术的发展,更改手机IP地址已成为一种常见需求。本文将详细介绍如何在不同网络环境下更改手机IP地址,包括移动网络和WiFi网络,以及同时适用于两种网络的方法,内容详尽实用,干货满满。 一、适用于移动网络&…...

使用Pybind11,Python调用C++动态库

最近学习了一下pybind11,使用python来调用C动态库的模式,在某些场景下有用,这里做一个记录。 环境准备 安装python,我这里安装的是3.12版本 下载Pybind11库,这是一个仅包含头文件的轻量级库,使用起来非常…...

提交gitlab

1.gitlab上新建项目 2.git clone url把新项目拉下来 3.git add ./* 把需要提交的文件全部新增 4.git config --global user.email “yetuo.zhuqxsk.local” 身份认证一下 5.git commit -m “asr语音识别-对外服务” 提交 6.git push origin 推送进去 git init git add . git c…...

金慧-综合管理信息系统 LoginBegin.aspx SQL注入复现

0x01 产品描述: 金慧-综合管理信息系统(以下简称“金慧综合管理系统”)是上海金慧软件有限公司基于多年行业系统研发和实施经验,为各类企业量身定制的一套综合性管理解决方案。该系统旨在通过信息化手段,提升企业的管理…...

RHCSA的学习(4)

一、vi编辑器 (1)为什么学vi? 所有的Unix Like 系统都会内建 vi 文本编辑器,其他的文本编辑器则不一定会存在; 很多个别软件的编辑接口都会主动呼叫 vi (例如未来会谈到的 crontab, visudo, edquota 等指令)&#x…...

linux-二进制工具

二进制查看工具: 1、hexdump -n length 只格式化输入文件的前length个字节 -C 输出规范的十六进之和ASCII码 -b 单字节八进制显示 -c 单字节字符显示 -d 双字节十进制显示 -o 双字节八进制显示 -x 双字节十六进制显示 -s 从偏移量开始输出 2、od(octal dump) 用于显示文件内…...

《数据结构》学习系列

系列文章目录 一、绪论 二、线性表、链表 三、堆栈、队列 四、数组 五、字符串 六、树...

沂机管理系统/data/Ajax.aspx接口存在SQL注入漏洞

漏洞描述 沂机管理系统/data/Ajax.aspx接口存在SQL注入漏洞,攻击者可以获取服务器权限 漏洞复现 body"后台管理系统演示版" POC GET /data/Ajax.aspx?methodlog_list&page1&limit20&fkey1&fdate12024-10-0100%3A00%3A00&fdate2…...

JVM 内存模型与垃圾回收过程详解

JVM 内存模型与垃圾回收过程详解 文章目录 JVM 内存模型与垃圾回收过程详解1. JVM内存分区1.1 具体分区1.2 JVM内存分区的必要性 2. 垃圾回收2.1 CMS垃圾回收器2.2 G1垃圾回收器2.3 JVM垃圾回收从新生代到老年代 1. JVM内存分区 1.1 具体分区 Java虚拟机(JVM&#…...

python:PyPDF2 将多个图片转换为pdf,再合并成一个PDF文件

承上一篇:java:pdfbox 3.0 去除扫描版PDF中文本水印 # 导出扫描版PDF文件中每页的图片文件 java -jar pdfbox-app-3.0.3.jar export:images -prefixtest -i your_book.pdf 导出 Writing image: test-1.jpg Writing image: test-2.jpg Writing image: t…...

Python精选200Tips:186-190

针对序列(时间、文本)数据的网络结构 续 P186-- 双向LSTM(Bidirectional Long Short-Term Memory 2005)(1)模型结构说明(2)创新性说明(3)示例代码:IMDB电影评论情感分析 …...

C、C++常用数据结构:链表

文章目录 基本概念链表的创建链表结点定义链表创建 链表遍历链表释放链表查找链表删除链表插入测试用例 基本概念 参考:链表基础知识详解(非常详细简单易懂)-CSDN博客 链表是一种线性存储结构,链表在物理存储上是非连续的&#xf…...

【devops】devops-ansible之剧本变量使用

本站以分享各种运维经验和运维所需要的技能为主 《python零基础入门》:python零基础入门学习 《python运维脚本》: python运维脚本实践 《shell》:shell学习 《terraform》持续更新中:terraform_Aws学习零基础入门到最佳实战 《k8》从问题中去学习k8s 《docker学习》暂未更…...

《Linux从小白到高手》理论篇:一文概览常用Linux重要配置文件

List item 今天继续宅家,闲来无事接着写。本篇是《Linux从小白到高手》理论篇的最后一篇了。本篇集中介绍所有常用的Linux重要配置文件。 用这个命令可以查看配置文件所在的位置:如上图 locate "*.conf" "*.ini" "*.cfg&quo…...

采购管理流程:掌握最后阶段的关键要点

采购管理流程是企业运作中的核心职能之一,涵盖了获取商品和服务的一系列步骤,旨在以高效率和经济效益的方式进行。深入理解该流程的每个环节极为关键,特别是最后阶段,这可确保所有采购活动的圆满完成以及与供应商维持良好关系。 …...

cherry-markdown开源markdown组件详细使用教程

文章目录 前言开发定位目标调研技术方案前提工作量安排数据库表设计实现步骤1、引入依赖2、实现cherry-markdown的vue组件(修改上传接口路径)3、支持draw.io组件4、支持展示悬浮目录toc前端使用:编辑状态使用cherry-markdown的vue组件前端使用…...

Android SystemUI组件(10)禁用/重启锁屏流程分析

该系列文章总纲链接:专题分纲目录 Android SystemUI组件 本章关键点总结 & 说明: 说明:本章节持续迭代之前章节的思维导图,主要关注左侧上方锁屏分析部分 应用入口处理流程解读 即可。 在 Android 系统中,禁用锁屏…...

【MobaXterm进阶】SSH连接稳定性优化:Keepalive与超时设置详解

1. 为什么SSH连接会频繁断开? 很多朋友在用MobaXterm远程连接服务器时都遇到过这样的困扰:明明连接得好好的,过一会儿就莫名其妙断开了。特别是当你正在执行一个耗时较长的任务时,突然中断简直让人抓狂。这种情况在家庭版用户中尤…...

如何免越狱定制iPhone界面:Cowabunga Lite完整使用指南

如何免越狱定制iPhone界面:Cowabunga Lite完整使用指南 【免费下载链接】CowabungaLite iOS 15 Customization Toolbox 项目地址: https://gitcode.com/gh_mirrors/co/CowabungaLite Cowabunga Lite是一款专为iOS 15设备设计的系统定制工具,让普通…...

Phi-4-mini-reasoning轻量模型安全:对抗提示注入攻击的防护策略

Phi-4-mini-reasoning轻量模型安全:对抗提示注入攻击的防护策略 1. 模型简介与安全挑战 Phi-4-mini-reasoning是一个基于合成数据构建的轻量级开源模型,专注于高质量、密集推理的数据处理能力。作为Phi-4模型家族成员,它支持128K令牌的超长…...

XILINX DDR3 VIVADO(二)时钟配置与调试技巧

1. DDR3时钟配置基础概念 在Xilinx Vivado中使用DDR3 IP核时,时钟配置是最关键也是最容易出错的环节。我刚开始接触DDR3设计时,经常被各种时钟信号搞得晕头转向。后来才发现,只要理解清楚三个核心时钟信号,问题就解决了一大半。 首…...

Java TCC到底要不要用?90%团队踩坑的4个认知误区,今天一次性说透

第一章:Java TCC到底要不要用?90%团队踩坑的4个认知误区,今天一次性说透TCC(Try-Confirm-Cancel)作为分布式事务的一种经典模式,在 Java 生态中常被误认为“高可用银弹”或“微服务标配”。但真实生产实践中…...

Gemma-3-12B-IT WebUI保姆级教程:含Supervisord进程守护与开机自启

Gemma-3-12B-IT WebUI保姆级教程:含Supervisord进程守护与开机自启 1. 前言:为什么选择Gemma-3-12B-IT? 如果你正在寻找一个性能强劲、部署友好,而且完全免费开源的大语言模型,那么Google的Gemma-3-12B-IT绝对值得你…...

实战指南:如何快速解决WebApi在IIS部署中的HTTP 500.19配置错误

1. 遇到HTTP 500.19错误时先别慌 第一次把WebApi部署到IIS服务器就遇到HTTP 500.19错误,相信很多开发者都会心头一紧。这个错误通常伴随着"配置数据无效"的提示,看起来挺吓人,但实际上解决起来并不复杂。我刚开始接触IIS部署时也踩…...

你还在用for循环清洗CSV?Polars 2.0的scan_csv()+expression DSL已支持自动列式推断与零拷贝转换——立即升级避免被淘汰

第一章:Polars 2.0大规模数据清洗的核心范式变革Polars 2.0 不再将数据清洗视为一系列离散的、命令式的转换操作,而是以“惰性执行图列式语义优先”为基石,重构整个清洗生命周期。其核心变革体现在计算模型、内存管理与API设计三重维度的协同…...

别再只用手动调参了!用ArcGIS的Geostatistical Analyst工具包自动优化克里金插值参数

解锁ArcGIS隐藏技能:用Geostatistical Analyst实现克里金插值参数智能优化 当你在深夜盯着屏幕上半变异函数模型的参数犹豫不决时,是否想过让软件替你做出更科学的选择?克里金插值作为地统计学的黄金标准,其精度高度依赖于半变异函…...

STM32F407 HAL库实战:TIM触发ADC+DMA实现多通道信号实时统计与可视化

1. 为什么需要TIM触发ADCDMA的多通道采集方案 在嵌入式数据采集系统中,实时性和效率往往是核心诉求。想象一下这样的场景:我们需要同时监测工业设备上的4个振动传感器,每个传感器的信号都需要以10kHz的频率采样。如果采用传统的轮询方式&…...