Redis——redispluspls库hash及zset类型相关接口使用

文章目录

    • hash类型相关接口
      • hset和hget
      • hexists
      • hdel
      • hkeys 和 hvals
      • hmset和hmget
    • zset类型相关接口
      • zadd和zrange
      • zcard 和 zrem
      • zscore和zrank

hash类型相关接口

hset和hget

 std::cout<<"hset 和 hget"<<std::endl;redis.flushall();redis.hset("key","f1","111");redis.hset("key",std::make_pair("f2","222"));//hset能够一次支持多个value键值对redis.hset("key",{std::make_pair("f3","333"),std::make_pair("f4","444")});vector<std::pair<string,string>> fields = {std::make_pair("f5","555"),std::make_pair("f6","666")};redis.hset("key",fields.begin(),fields.end());auto result = redis.hget("key","f1");if(result) std::cout<<"result:"<<result.value()<<std::endl;

在这里插入图片描述

hexists

std::cout<<"hexist"<<std::endl;redis.flushall();redis.hset("key","f1","111");redis.hset("key","f2","222");redis.hset("key","f3","333");bool result = redis.hexists("key","f1");std::cout<<"result:"<<result<<std::endl;

在这里插入图片描述

hdel

 std::cout<<"hexist"<<std::endl;redis.flushall();redis.hset("key","f1","111");redis.hset("key","f2","222");redis.hset("key","f3","333");bool result = redis.hexists("key","f1");std::cout<<"result:"<<result<<std::endl;

在这里插入图片描述

hkeys 和 hvals

std::cout<<"hkeys和hvalues"<<std::endl;redis.flushall();redis.hset("key","f1","111");redis.hset("key","f2","222");redis.hset("key","f3","333");vector<string> fields;auto it = std::back_inserter(fields);redis.hkeys("key",it);for(const auto&x:fields){std::cout<<x<<std::endl;}vector<string> values;it = std::back_inserter(values);redis.hvals("key",it);for(const auto&x:values){std::cout<<x<<std::endl;}

在这里插入图片描述

hmset和hmget

 std::cout<<"hmget和hmset"<<std::endl;redis.flushall();redis.hmset("key",{std::make_pair("f1","111"),std::make_pair("f2","222"),std::make_pair("f3","333")});std::vector<std::pair<string,string>> pairs = {std::make_pair("f4","444"),std::make_pair("f5","555"),std::make_pair("f6","666"),};redis.hmset("key",pairs.begin(),pairs.end());vector<string> values;auto it  = std::back_inserter(values);redis.hmget("key",{"f1","f2","f3"},it);for(const auto&x:values){std::cout<<x<<std::endl;}

在这里插入图片描述

zset类型相关接口

zadd和zrange

std::cout<<"zadd和zrange"<<std::endl;redis.flushall();redis.zadd("key","吕布",99);redis.zadd("key",{std::make_pair("赵云",98),std::make_pair("典韦",97)});vector<std::pair<string,double>> members = {std::make_pair("关羽",96),std::make_pair("张飞",95),};redis.zadd("key",members.begin(),members.end());//zrange支持两种主要的风格://1. 只查询member,不带score//2. 查询member ,同时带score//关键就是看插入迭代器指向的容器的类型//指向的容器只是包含一个string,就是只查询member//指向的容器包含的是一个pair,里面又string和double,就是查询member同时带有分数vector<string> membersResults;auto it = std::back_inserter(membersResults);redis.zrange("key",0,-1,it);for(const auto&x: membersResults){std::cout<<x<<std::endl;}vector<std::pair<string,double>> membersWithscore;auto it2 = std::back_inserter(membersWithscore);redis.zrange("key",0,-1,it2);for(const auto&x: membersWithscore){std::cout<<x.first<<":"<<x.second<<std::endl;}

在这里插入图片描述

zcard 和 zrem

 std::cout<<"zcard 和 zrem"<<std::endl;redis.flushall();redis.zadd("key","zhangsan",90);redis.zadd("key","lisi",91);redis.zadd("key","wangwu",92);redis.zadd("key","zhaoliu",93);long long result = redis.zcard("key");std::cout<<"result:"<<result<<std::endl;redis.zrem("key","zhangsan");result = redis.zcard("key");std::cout<<"result:"<<result<<std::endl;

在这里插入图片描述

zscore和zrank

std::cout<<"zscore 和 zrank"<<std::endl;redis.flushall();redis.zadd("key","zhangsan",90);redis.zadd("key","lisi",91);redis.zadd("key","wangwu",92);redis.zadd("key","zhaoliu",93);auto score = redis.zscore("key","zhangsan");if(score) std::cout<<"score:"<<score.value()<<std::endl;auto rank = redis.zrank("key","lisi");if(rank) std::cout<<"rank:"<<rank.value()<<std::endl;

在这里插入图片描述

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

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

相关文章

Java 分布式锁:原理与实践

在分布式系统中&#xff0c;多个节点同时操作共享资源的情况非常普遍。为了保证数据的一致性&#xff0c;分布式锁 应运而生。分布式锁 是一种跨多个服务器的互斥锁&#xff0c;用于协调分布式环境下的资源访问。 本文将介绍 Java 实现分布式锁 的几种常见方式&#xff0c;并结…

OpenAI API: How to catch all 5xx errors in Python?

题意&#xff1a;OpenAI API&#xff1a;如何在 Python 中捕获所有 5xx 错误&#xff1f; 问题背景&#xff1a; I want to catch all 5xx errors (e.g., 500) that OpenAI API sends so that I can retry before giving up and reporting an exception. 我想捕获 OpenAI API…

浙大数据结构:05-树8 File Transfer

数据结构MOOC PTA习题 这道题考察并查集的操作&#xff0c;合并以及找根结点 机翻&#xff1a; 1、条件准备 node是数组存放1-N结点的根节点的&#xff0c;n为总结点数 #include <iostream> using namespace std;const int N 1e4 5; int node[N]; int n; 先初始化…

<<编码>> 第 16 章 存储器组织(3)--3-8 译码器 示例电路

3-8 译码器 info::操作说明 “写入” 开关先断开(Q 为低电平, 表示不写入) S2-S1-S0 设置一个二进制数, 选中 Q0~Q7 其中一个作为 Q 的输出 “数据输入” 端置入要保存的数(0或1) 闭合 “写入” 开关, 对应的一位锁存器中的 W 为高电平, 表示可以写入, “数据输入” 的值最终…

嵌入式常用GUI介绍

目录 前言一、GuiLite二、LVGL三、SimpleGUI四、MiniGUI五、emWin六、TouchGFX七、uGUI八、GFX九、Embedded Wizard十、CrankSoftware十一、PEG Graphics Software十二、Guiliani十三、MPLAB Harmony Graphics Suite 前言 图形用户界面&#xff08;Graphical User Interface&am…

关系数据库设计之Armstrong公理详解

~犬&#x1f4f0;余~ “我欲贱而贵&#xff0c;愚而智&#xff0c;贫而富&#xff0c;可乎&#xff1f; 曰&#xff1a;其唯学乎” 一、Armstrong公理简介 Armstrong公理是一组在关系数据库理论中用于推导属性依赖的基本规则。这些公理是以著名计算机科学家威廉阿姆斯特朗&…

优化内存工具 | RAM Saver Pro v24.9 便携版

RAM Saver是一款专业的RAM优化工具&#xff0c;旨在提高计算机的性能和运行速度。它通过多种优化技术&#xff0c;如内存碎片整理、CPU和主板缓存效率提升、恢复内存等&#xff0c;为应用程序提供更多的内存资源&#xff0c;从而使系统运行更加流畅。适合所有需要优化内存使用和…

EMT-LTR--学习任务间关系的多目标多任务优化

EMT-LTR–学习任务间关系的多目标多任务优化 title&#xff1a; Learning Task Relationships in Evolutionary Multitasking for Multiobjective Continuous Optimization author&#xff1a; Zefeng Chen, Yuren Zhou, Xiaoyu He, and Jun Zhang. journal&#xff1a; IEE…

银河麒麟V10系统崩溃后的处理

银河麒麟V10系统崩溃后的处理 &#x1f496;The Begin&#x1f496;点点关注&#xff0c;收藏不迷路&#x1f496; 当银河麒麟桌面操作系统V10崩溃无法启动时&#xff0c;直接使用备份还原工具不可行。此时&#xff0c;应采取以下步骤&#xff1a; 进入救援模式或LiveCD&#x…

攻防世界---->Windows_Reverse1

学习笔记。 前言&#xff1a;不会&#xff0c;代码越简洁&#xff0c;越难受 T ^ T 下载 查壳。 UPX脱壳。 此题脱壳后的程序&#xff0c;是不能运行的。 网上wp&#xff0c;说是因为作者采用了ASLR(地址随机化) 解决方法&#xff1a;一&#xff1a;用XP运行调试。 方法二&a…

0基础跟德姆(dom)一起学AI 数据处理和统计分析05-Pandas数分入门

* DataFrame读写文件 * DataFrame加载部分数据 * DataFrame分组聚合计算 * DataFrame常用排序方式 * DataFrame案例-链家数据分析 --- 1.DataFrame-保存数据到文件 * 格式 python df对象.to_数据格式(路径) # 例如: df.to_csv(data/abc.csv) * 代码演示 > 如…

Deepin man 没有关于printf 的手册页条目

问题 man 3 printf&#xff1a;在第 3 节中没有关于 printf 的手册页条目。 解决方法&#xff1a;安装manpages发开库。 搜索包 apt search manpages安装 sudo apt install manpages-dev若没有manpages-dev&#xff0c;安装manpages-posix-dev&#xff0c;应该也可以&#x…

【成品论文】2024年华为杯研赛E题25页高质量成品论文(后续会更新

您的点赞收藏是我继续更新的最大动力&#xff01; 一定要点击如下的卡片链接&#xff0c;那是获取资料的入口&#xff01; 点击链接加入【2024华为杯研赛资料汇总】&#xff1a;https://qm.qq.com/q/Mxv2XNWxUc https://qm.qq.com/q/Mxv2XNWxUc 高速公路应急车道紧急启用模型…

深度学习02-pytorch-03-张量的数值计算

张量&#xff08;Tensor&#xff09;是多维数组的通用化概念&#xff0c;它可以表示标量&#xff08;0维&#xff09;、向量&#xff08;1维&#xff09;、矩阵&#xff08;2维&#xff09;以及更高维度的数据。在深度学习和数值计算中&#xff0c;张量是基础数据结构&#xff…

基于python的api扫描器系统的设计与实现

&#x1f497;博主介绍&#x1f497;&#xff1a;✌在职Java研发工程师、专注于程序设计、源码分享、技术交流、专注于Java技术领域和毕业设计✌ 温馨提示&#xff1a;文末有 CSDN 平台官方提供的老师 Wechat / QQ 名片 :) Java精品实战案例《700套》 2025最新毕业设计选题推荐…

MySQL练手题--周内每天销售情况(困难)

一、准备工作 Create table If Not Exists Orders (order_id int, customer_id int, order_date date, item_id varchar(30), quantity int); Create table If Not Exists Items (item_id varchar(30), item_name varchar(30), item_category varchar(30)); Truncate table Or…

【软件文档】软件项目试运行方案(word实际套用2024)

软件项目试运行方案&#xff08;Word原件参考&#xff09; 一、试运行目的 二、试运行的准备 三、试运行时间 四、试运行制度 五、试运行具体内容与要求 软件全套资料部分文档清单&#xff1a; 工作安排任务书&#xff0c;可行性分析报告&#xff0c;立项申请审批表&#xff0c…

python画图1

import matplotlib.pyplot as pltplt.rcParams["font.sans-serif"] ["SimHei"]# 模拟数据 years [2016, 2017, 2018, 2019, 2020, 2021, 2022] market_size [7950, 8931, 9940, 11205, 12305, 13199, 14980] my_color #3e9df5plt.plot(years, market_s…

《他们的奇妙时光》圆满收官,葛秋谷新型霸总获好评

9月21日&#xff0c;由王枫、张开法执导&#xff0c;周洁琼、葛秋谷领衔主演的奇幻爱情题材都市喜剧《他们的奇妙时光》圆满收官。该剧讲述了意外被游戏角色刑天附体的设计师宋灵灵&#xff0c;为修复游戏漏洞&#xff0c;被迫与能压制刑天的甲方总裁萧然同居&#xff0c;两人在…

局域网设备自动发现常用方法

文章目录 需求实现方法ARP (Address Resolution Protocol)Ping ip的流程抓包如下代码实现 mDNS 对比测试Avahi 介绍Avahi 安装Avahi 使用测试代码 需求 局域网设备自动发现是软件开发中的一个常见且重要的需求&#xff0c;它简化了设备间的协作机制&#xff0c;降低了软件各模…