python使用redis存储时序数据

news2024/11/27 20:35:36
import redis

def ts_demo():
    """时序数据存储RedisTimeSeries测试"""
    # 连接到Redis
    r = redis.Redis(host='localhost', password="xxxx", port=63790, db=0)
    r1 = r.ts()
    # print(r1.get("ts_key"))
    # print(r.exists('ts_key'))
    # # 清空键值
    # r.delete("ts_key1111")
    # print(r1.range("ts_key1111", '-', '+'))
    # 设置过期时间为10s,即timestamp的时间相比当前时间相差10s以上的数据就不存在于这个key中。
    r1.create(key="ts_key", retention_msecs=10000, duplicate_policy="last")
    r1.add(key="ts_key1111", timestamp='*', value=1) # *表示取当前时间
    r1.add(key="ts_key", timestamp='*', value=2)
    r1.add(key="ts_key", timestamp='*', value=3)
    r1.add(key="ts_key", timestamp='*', value=4)
    time.sleep(5)
    r1.add(key="ts_key", timestamp='*', value=5)
    r1.add(key="ts_key", timestamp='*', value=6)
    r1.add(key="ts_key", timestamp='*', value=7)
    r1.add(key="ts_key", timestamp='*', value=8)
    r1.add(key="ts_key", timestamp='*', value=9)
    r1.add(key="ts_key", timestamp='*', value=10)
    r1.add(key="ts_key", timestamp='*', value=11)

    print(r1.get("ts_key")) # 获取该key下的时间最大的数据
    print(r1.range("ts_key", '-', '+')) # 获取该key下的所有数据
    time.sleep(5)
    print(r1.range("ts_key", '-', '+')) 
    
if __name__ == '__main__':
    ts_demo()

存在的问题

可能会报错redis没有RedisTimeSeries扩展模块,详细信息可以参考redis官网https://redis.io/docs/latest/develop/data-types/timeseries/
也可以参考如下:
https://blog.csdn.net/LinkSLA/article/details/123040789
在这里插入图片描述
查看redis中是否有时间序列数据库模块可以参考如下代码:

# 连接到Redis
r = redis.StrictRedis(host='localhost', password="xxxx", port=63790, db=0)

# 获取Redis的信息
info = r.info()
print(info)
# 检查是否加载了时间序列数据库模块
if 'redis_modules' in info and 'name' in info['redis_modules']:
    for module in info['redis_modules']:
        if module['name'] == 'timeseries':
            print("Redis Time Series Database module is enabled.")
else:
    print("Redis Time Series Database module is not enabled.")

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1603841.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Text2sql的一些技巧

最近看到了一篇关于text2sql的文章,以及一些论文。对使用模型做text2sql给了一些不错的建议。 参考文章:24年大模型潜力方向:大浪淘沙后的Text-to-SQL和Agent - 知乎 论文:https://arxiv.org/pdf/2403.09732.pdf 关于模型的建议 …

基于快照行情的股票/基金 1分钟 K 线合成指南

1. 概述 由于不同交易所不同资产的交易规则是有差异的,导致不同交易所基于快照行情或逐笔成交合成不同资产1分钟 K 线的计算方法是不同的。 本教程旨在提高 DolphinDB 在具体业务场景下的落地效率,降低 DolphinDB 在实际业务使用中的开发难度。 本教程…

飞行机器人专栏(十四)-- Kinect DK 人体骨骼点运动提取方法

系列文章目录 Ubuntu 18.04/20.04 CV环境配置(下)--手势识别TRTposeKinect DK人体骨骼识别_ubuntu kinect骨骼测试-CSDN博客文章浏览阅读1.3k次。trt_pose_ros kinect实现手势识别和人体骨骼识别,用于机器人运动控制参考_ubuntu kinect骨骼测…

生活中的洪特规则

不知道你还记不记得高中物理所学的一个奇特的物理规则:洪特规则。 洪特规则是德国人弗里德里希洪特(F.Hund)根据大量光谱实验数据总结出的一个规律,它指出电子分布到能量简并的原子轨道时,优先以自旋相同的方式分别占…

《由浅入深学习SAP财务》:第2章 总账模块 - 2.7 总账模块报表 -2.7.2 对外报表:现金流量表

2.7.2 对外报表:现金流量表 现金流量表包括直接法和间接法。使用SAP出具现金流量表,一般只能出具直接法报表。间接法是指按照净利润倒推出现金流量的发生额,由于其中存在人为“分析”的因素,很难直接通过科目的加加减减得出所需要…

【学习】Jmeter、postman、python如何与数据库相互配合

在当今数字化时代,数据库已经成为我们日常生活中不可或缺的一部分。无论是购物、社交还是工作,数据库都在默默地为我们提供着高效、稳定的服务。而在众多的技术工具中,Jmeter、Postman和Python成为了操作数据库的三大主流技术。今天&#xff…

【MATLAB源码-第191期】基于matlab的4QAM系统相位偏移估计EOS算法仿真,对比补偿前后的星座图误码率。

操作环境: MATLAB 2022a 1、算法描述 1. 引言 M-QAM调制技术的重要性 现代通信系统追求的是更高的数据传输速率和更有效的频谱利用率。M-QAM调制技术,作为一种高效的调制方案,能够通过在相同的带宽条件下传输更多的数据位来满足这一需求。…

安防视频监控/视频集中存储EasyCVR平台级联时,下级平台未发流是什么原因?

安防视频监控/视频集中存储/云存储/磁盘阵列EasyCVR平台可拓展性强、视频能力灵活、部署轻快,可支持的主流标准协议有国标GB28181、RTSP/Onvif、RTMP等,以及支持厂家私有协议与SDK接入,包括海康Ehome、海大宇等设备的SDK等。平台既具备传统安…

Python-VBA函数之旅-filter函数

目录 一、filter函数的常见应用场景: 二、filter函数的使用注意事项: 1、filter函数: 1-1、Python: 1-2、VBA: 2、相关文章: 个人主页:非风V非雨-CSDN博客 一、filter函数的常见应用…

Docker一键快速私有化部署(Ollama+Openwebui) +AI大模型(gemma,llama2,qwen)20240417更新

几行命令教你私有化部署自己的AI大模型,每个人都可以有自己的GTP 第一步:安装Docker(如果已经有了可以直接跳第二步) ####下载安装Docker wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O/etc/yum.repos.d/docker-ce.repo##…

HTML5 <video> 标签属性、API 方法、事件、自定义样式详解与实用示例

HTML5 <video> 标签为网页内嵌视频提供了强大且便捷的功能。以下是对 <video> 标签的主要属性、API 方法、事件、自定义样式及其使用示例的详细介绍&#xff1a; 一、属性 1. src 定义&#xff1a;指定视频文件的 URL。示例&#xff1a;<video src"my_v…

代码随想录算法训练营第一天 | 704. 二分查找 | 27. 移除元素

704. 二分查找 int search(int* nums, int numsSize, int target) {int left 0, right numsSize, mid;while (left < right) {mid left (right -left) / 2;if (nums[mid] < target) {left mid 1;} else if (nums[mid] > target) {right mid;} else {return mid…

javaswing + mysql通讯录

javaswingaddressbook 需要代码私聊

windows11 wsl2 ubuntu20.04安装vision mamba并进行测试

windows11 wsl2 ubuntu20.04安装vision mamba 安装流程使用cifar-100测试安装成功 安装流程 vision mamba安装了半天才跑通&#xff0c;记录一下流程在wsl上安装cuda wget https://developer.download.nvidia.cn/compute/cuda/11.8.0/local_installers/cuda_11.8.0_520.61.05…

【面试题】MySQL 事务的四大特性说一下?

事务是一个或多个 SQL 语句组成的一个执行单元&#xff0c;这些 SQL 语句要么全部执行成功&#xff0c;要么全部不执行&#xff0c;不会出现部分执行的情况。事务是数据库管理系统执行过程中的一个逻辑单位&#xff0c;由一个有限的数据库操作序列构成。 事务的主要作用是保证数…

【Python】穿越Python的迭代之旅:while,for 循环的奇妙世界

欢迎来到CILMY23的博客 本篇主题为&#xff1a; 穿越Python的迭代之旅&#xff1a;while&#xff0c;for 循环的奇妙世界 个人主页&#xff1a;CILMY23-CSDN博客 系列专栏&#xff1a;Python | C | C语言 | 数据结构与算法 感谢观看&#xff0c;支持的可以给个一键三连&…

UE4_动画基础_相同骨骼的动画重定向步骤

学习笔记&#xff0c;仅供参考&#xff01; 动画重定位 是对现有动画稍加修改后用于多个角色的过程&#xff0c;它使你无需创建全新的动画&#xff0c;因为你可以在多个角色间共享动画资源。 存在两种形式的动画重定位&#xff0c;在第一种形式中&#xff0c;你要与之共享动画…

18 统计网站每日的访问次数

1.将竞赛的数据上传HDFS,查看数据的格式 通过浏览器访问hdfs,查看该文档前面的部分数据 每条数据的字段值之间使用逗号隔开的 &#xff0c;最终时间是第五个自动&#xff0c;获取第五个字段值的中的年月日。 2.通过Idea创建项目mr-raceData ,基础的配置 修改pom.xml,添加依赖 …

QML和QtQuick简介以及QML实例

从 Qt 4.7 开始&#xff0c;Qt 引入了一种声明式脚本语言&#xff0c;称为 QML&#xff08;Qt Meta Language 或者 Qt Modeling Language&#xff09;&#xff0c;作为 C 语言的一种替代。而 Qt Quick 就是使用 QML 构建的一套类库。 QML 是一种基于 JavaScript 的声明式语言。…

zookeeper实验部署

一、前期部署 IP地址 主机名安装软件系统版本192.168.10.8 node1apache-zookeeper-3.5.7-bin.tar.gz centos7.5 192.168.10.9 node2apache-zookeeper-3.5.7-bin.tar.gzcentos7.5192.168.10.10 node3apache-zookeeper-3.5.7-bin.tar.gzcentos7.5 二、zookeeper实验部署 2.1 同时…