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

Redis 常用基本命令

关于 redis 的常用基本命令

目录

关于 redis 的常用基本命令

1. 关于 key 的操作

2. HyperLogLog 求近似基数

3. 排序相关命令

4. Limit 限制查询


1. 关于 key 的操作

  判断某个 key 是否存在

# 格式: exists key
exists name# 存在name 返回1
# 不存在name 返回0

  查找或者正则匹配某个 key

# 查找key=s,完全一致匹配
keys s
# 查找以s开头,外加任意一个字符的key
keys s?
# 查找以s开头,外加任意或0个字符的key
keys s*# ?: 代表任意一个字符
# *: 代表0个或多个任意字符

  重命名 key

# key: 旧键名 newkey: 新键名
rename key newkey  # 若newkey已经存在,则newkey会被覆盖renamenx key newkey  # 若newkey已经存在,则返回0,不执行该命令

  删除key-value

# key-value 同时被删除
del key

  查看键剩余生存时间

# 以秒为单位返回剩余生存时间
ttl key# 以毫秒为单位返回剩余生存时间
pttl key# return -2: key不存在
# return -1: key存在但未设置生存时间

  设置键的生存时间

# 以秒为时间单位设置key的生存时间
expire key seconds
# 以毫秒为单位设置key的生存时间
pexpire key milliseconds# 设置键永不过期
persist key

  以树形结构存储 key,格式为 -> 项目名:模块名:ID

# 格式: set key:id value
set person:1 zhangsanset person:2 lisiset person:3 wangwu

2. HyperLogLog 求近似基数

  • 基数计数: 统计一个集合中不重复元素的个数,如网站的unique vistor,用户搜索关键词的数量等
  • 近似基数并非实际基数,有可能比实际基数大一点或者小一点,但是这个误差在一个合理的范围内
  • HyperLogLog 求近似基数与实际集合的大小无关,无论集合大还是小,HyperLogLog所需的内存大小都是固定的,且消耗较少的
  • 在其他统计基数的场景里,集合元素的数量和统计所需内存的消耗是成正比的,但是在redis对象里的 HyperLogLog 只需要12kb的内存就能计算2^64个元素集合的基数

相关命令

  添加键值对到 HyperLogLog 对象中

# 格式: pfadd key value value...
pfadd site u1 u2 u3 u4 u5 u6

  根据 key 统计基数

# 格式: pfcount key key...pfcount site

3. 排序相关命令

通过排序命令可以对列表List,集合Set,有序集合Zset进行升序或降序排列

数据操作方式

  数字列表排序

# 基于头部插入-构建列表 List
lpush score 12 45 67 98 2 54 10 36# asc: 升序 desc: 降序
sort score asc

  字符串列表排序

# 基于尾部构建字符串列表
rpush name hutao ganyu leishen keli# 字符串列表排序要加上 alpha
sort name alpha desc

4. Limit 限制查询

某些时候不需要全部的查询结果,可以用 limit 限制返回查询结果的个数

# 基于头部插入-构建列表 List
lpush score 12 45 67 98 2 54 10 36# asc: 升序 desc: 降序
sort score asc limit 5 7# 语法格式 limit offset count
# offset: 偏移量,表示跳过的有序元素个数
# count: 表示本次查询的数据量个数

相关文章:

Redis 常用基本命令

关于 redis 的常用基本命令 目录 关于 redis 的常用基本命令 1. 关于 key 的操作 2. HyperLogLog 求近似基数 3. 排序相关命令 4. Limit 限制查询 1. 关于 key 的操作 判断某个 key 是否存在 # 格式: exists key exists name# 存在name 返回1 # 不存在name 返回0 查找或…...

【Leetcode】队列的性质与应用

文章目录225. 用队列实现栈示例:提示:分析:题解:622. 设计循环队列示例:提示:分析:题解:225. 用队列实现栈 请你仅使用两个队列实现一个后入先出(LIFO)的栈&…...

开启新航路,拓尔思发力AIGC市场 | 爱分析调研

2022年,随着AI聊天机器人GhatGPT在世界范围内持续火爆,极具创意、表现力、个性化且能快速迭代的AIGC技术成功破圈,成为全民讨论热点。 AIGC是指在确定主题下,由算法模型自动生成内容,包括单模态内容如文本、图像、音频…...

RK3568平台开发系列讲解(调试篇)Linux 内核的日志打印

🚀返回专栏总目录 文章目录 一、dmseg 命令二、查看 kmsg 文件三、调整内核打印等级沉淀、分享、成长,让自己和他人都能有所收获!😄 📢本篇将 Linux 内核的日志打印进行梳理。 一、dmseg 命令 在终端使用 dmseg 命令可以获取内核打印信息,该命令的具体使用方法如下所…...

hadoop之MapReduce框架原理

目录 MapReduce框架的简单运行机制: Mapper阶段: InputFormat数据输入: 切片与MapTask并行度决定机制: job提交过程源码解析: 切片逻辑: 1)FileInputFormat实现类 进行虚拟存储 &#x…...

JavaEE简单示例——SpringMVC的简单数据绑定

简单介绍: 在前面我们介绍过如何将我们自己创建的类变成一个servlet来处理用户发送的请求,但是在大多数的时候,我们在请求 的时候会携带一些参数,而我们现在就开始介绍我们如何在Java类中获取我们前端请求中携带的参数。首先&…...

耗时的同步请求自动转异步请求

耗时的同步请求自动转异步请求问题描述问题处理代码实现问题描述 现在在项目中碰到一个情况,导出数据到excel,在数据量比较下的时候直接下载,在数据量比较大时保存到服务的文件列表,后续再供用户下载。 也就是需要避免前端因后端…...

React常见的hook

目录 useState useEffect useRef useContext useCallback useMemo useState const [初始值,修改值的方法] useState( 初始值 ) 我们用useState定义一个初始值,可以打印看一下结果 console.log(useState(10)) // [10, ƒ] 结果是一个数组&#xf…...

Oracle集群管理ASM-扩容磁盘组报错ora-15137

1 内容描述 今日对19c集群磁盘组进行扩容, [rootdb1 ~]# oracleasm createdisk DATA7 /dev/sdm1 Writing disk header: done Instantiating disk: done [rootdb1 ~]# oracleasm createdisk DATA8 /dev/sdn1 Writing disk header: done Instantiating disk: done 使…...

TryHackMe-biteme(boot2root)

biteme 远离我的服务器! 端口扫描 循例 nmap Web枚举 打开一看是一个默认页面 扫一波 打thm这么久,貌似还是第一次见带验证码的登录 信息有限,对着/console再扫一波 查看/securimage 但似乎没有找到能利用的信息 回到console, 在源码发现…...

vue开发常用的工具有哪些

个人简介:云计算网络运维专业人员,了解运维知识,掌握TCP/IP协议,每天分享网络运维知识与技能。座右铭:海不辞水,故能成其大;山不辞石,故能成其高。个人主页:小李会科技的…...

数组,排序,查找

数组可以存放多个同一类型的数据,数组也是一种数据类型,是引用类型。 数组可以通过下标来访问元素下标是从0开始编号的比如第一个元素就是hens[0]数组定义,数据类型 数组名[] new 数据类型[大小];int a[] new int[5];动态初始化 import ja…...

redis中序列化后的对象后当如何修改

redis中序列化Redis 中存储的序列化对象是不可变需要频繁修改对象属性, 我存储对象为hash结构如何?总结君问归期未有期,巴山夜雨涨秋池。——唐代李商隐《夜雨寄北》 Redis 中存储的序列化对象是不可变 在 Redis 中存储的序列化对象是不可变的,因为它们…...

膜拜!阿里自爆十万字Java面试手抄本,脉脉一周狂转50w/次

最近,一篇题为《阿里十万字Java面试手抄本》的文章在社交媒体平台上引起了广泛关注。这篇文章由一位阿里工程师整理了阿里Java面试的经验,并分享给了大家。这篇文章一经发布,就在短时间内获得了数十万的转发量,让许多Java程序员受…...

Yolov5改进: Yolov5-FasterNet网络推理加速

文章目录 1. FasterNet介绍1. 1 FasterNet性能1.2 FasterNet作为Backbone2. 基于C3-Faster实现Yolov5 轻量化2.1 C3-Faster的实现2.2 C3-Faster 在YOLOv5中的使用(1) 在common.py 中添加`C3-Faster`代码(2) 修改yolo.py 中的代码(2) 修改yolov5 yaml文件3. 训练1. FasterNet介绍…...

在ubuntu下安装五笔输入法(百度输入法)

想要在ubuntu下安装一款合适的五笔输入法,不是一件容易的事。现在我找到了一个好用的输入法分享给大家。 环境:Ubuntu22.04桌面版。 软件:百度Linux输入法-支持全拼、双拼、五笔 步骤一: 需要大家先下载百度的五笔输入法。 http…...

python自动发送邮件(html、附件等),qq邮箱和网易邮箱发送和回复

在python中,我们可以用程序来实现向别人的邮箱自动发送一封邮件,甚至可以定时,如每天8点钟准时给某人发送一封邮件。今天,我们就来学习一下,如何向qq邮箱,网易邮箱等发送邮件。 一、获取邮箱的SMTP授权码。…...

数学-快速幂

从一个简单的问题说起&#xff1a; 给出整数m&#xff0c;n和p&#xff0c;要求计算(m ^ n) % p的结果。 #include <iostream> using namespace std;int main() {long long m, n, p;cin >> m >> n >> p;long long ans 1;for (long long i 0; i < …...

DevEco鸿蒙应用开发-第一个App

目录下载开发环境创建工程登录华为账户测试应用下载开发环境 前往官网下载 DevEco 开发环境&#xff1a;https://developer.harmonyos.com/cn/develop/deveco-studio#download 下载并安装&#xff0c;请记住你选择的 IDE 与 SDK 安装位置&#xff0c;后续可能会用到&#xff…...

又一款全新的基于 GPT4 的 Python 神器Cursor,关键还免费

chartgpt大火之后&#xff0c;随之而来的就是一大类衍生物了。 然后&#xff0c;今天要给大家介绍的是一款基于GPT4的新一代辅助编程神器——Cursor。 它最值得介绍的地方在于它免费&#xff0c;我们可以直接利用它来辅助我们编程&#xff0c;真正做到事半功倍。 注意&#…...

React - useEffect、useRef、Fragment

一、useEffect 1、基本介绍 useEffect 用于在函数式组件中执行副作用操作&#xff0c;用于替代类组件中的生命周期钩子 useEffect(() > {// 副作用操作return () > {// 清理函数&#xff08;可选&#xff09;}; }, [依赖项数组]);副作用操作&#xff1a;发送请求数据获取…...

QT 5.14.0实战:手把手教你用QLineEdit打造一个带验证码的登录框(附完整样式代码)

QT 5.14.0实战&#xff1a;手把手教你用QLineEdit打造一个带验证码的登录框&#xff08;附完整样式代码&#xff09; 在GUI开发中&#xff0c;登录界面是最基础也最考验细节的组件之一。一个优秀的登录框不仅需要功能完整&#xff0c;还要在用户体验上下足功夫——比如实时输入…...

PakePlus云打包入门指南:从零到一的GitHub Token配置与安全实践

PakePlus云打包入门指南&#xff1a;从零到一的GitHub Token配置与安全实践 【免费下载链接】PakePlus Turn any webpage/HTML/Vue/React and so on into desktop and mobile app under 5M with easy in few minutes. 轻松将任意网站/HTML/Vue/React等项目构建为轻量级(小于5M)…...

LFM2.5-1.2B-Thinking-GGUF入门必看:轻量模型在离线环境中的安全合规部署

LFM2.5-1.2B-Thinking-GGUF入门必看&#xff1a;轻量模型在离线环境中的安全合规部署 1. 模型概述 LFM2.5-1.2B-Thinking-GGUF是Liquid AI推出的轻量级文本生成模型&#xff0c;专为低资源环境设计。这个1.2B参数的模型采用GGUF格式&#xff0c;能够在各种边缘设备上高效运行…...

OpenCV实战:从相机响应函数(CRF)到HDR图像合成的完整流程解析

1. 相机响应函数(CRF)基础解析 第一次听说相机响应函数(CRF)时&#xff0c;我也是一头雾水。简单来说&#xff0c;CRF就是描述相机如何把真实世界的光线强度(L)转换成图像像素值(B)的数学关系。想象一下&#xff0c;你拿着手机对着同一个场景拍三张照片&#xff1a;一张很暗、一…...

PingFangSC字体工程化:从跨平台渲染挑战到企业级解决方案

PingFangSC字体工程化&#xff1a;从跨平台渲染挑战到企业级解决方案 【免费下载链接】PingFangSC PingFangSC字体包文件、苹果平方字体文件&#xff0c;包含ttf和woff2格式 项目地址: https://gitcode.com/gh_mirrors/pi/PingFangSC 一、问题诊断&#xff1a;揭开字体渲…...

在ALV当中上传的excel形式的layout,没法删除怎么办?

明明点了上边的删除键&#xff08;-&#xff09;也保存了&#xff0c;下次进入还是存在。OAOR,上传的模板都在里面&#xff0c;点击删除即可...

健康管理APP的“专业度悖论“:当8亿用户遇上AI幻觉

——2026年数字医疗市场的信任构建与分化艾瑞咨询2026年数据显示&#xff0c;中国移动医疗用户规模突破8亿&#xff0c;市场规模达1.5万亿元。但另一组数据更值得玩味&#xff1a;用户人均单日使用时长8.1分钟&#xff0c;深夜10点至凌晨2点的咨询量占比23%&#xff0c;而整体付…...

AI 模型推理 GPU 调度性能分析

AI模型推理GPU调度性能分析&#xff1a;解锁算力潜能的关键 随着AI技术的快速发展&#xff0c;深度学习模型的推理任务对计算资源的需求急剧增加。GPU因其并行计算能力成为模型推理的核心硬件&#xff0c;但如何高效调度GPU资源以提升性能&#xff0c;成为企业和研究机构关注的…...

从零到实战:用QCustomPlot在QT中绘制动态曲线图(含OpenGL加速配置)

从零到实战&#xff1a;用QCustomPlot在QT中绘制动态曲线图&#xff08;含OpenGL加速配置&#xff09; 第一次接触QT绘图功能时&#xff0c;我被它的灵活性震撼到了——直到尝试绘制实时动态数据&#xff0c;才意识到性能优化的重要性。QCustomPlot这个轻量级库完美平衡了易用性…...