Redis--通用命令学习

目录

一、引言

二、基础命令

1.set

2.get 

3.keys

3.1 keys ?

3.2 keys *

3.3 keys [abe] 

3.4 keys [^]

3.5 keys [a-b]

4.exists

5.delete

6.expire

 7.ttl

8.type 

三、Redis中的过期策略(面试题)

1.惰性删除

2.定期删除

3.定时器

四、总结


一、引言

  本篇文章就Redis在Ubunto上面的一些简单命令进行介绍。

二、基础命令

1.set

  set命令就是设置键值对的,例如 set key value

2.get 

获取键的值

3.keys

  全局命令,简单理解就是在整个redis上面进行查找

3.1 keys ?

  ?能够代替其中一个字符

3.2 keys *

  * 能够代替零个或者多个字符

3.3 keys [abe] 

 []查找里面的内容代替的字符

 

3.4 keys [^]

  查找除了这个的字符

3.5 keys [a-b]

  查找a-b的内容

 注意:尽量少使用keys * 这样的查找全部的操作,可能会把服务器卡崩,所以尽量不用这类操作

4.exists

  判定key是否存在,返回值是key存在的个数,时间复杂度是O(1)

5.delete

和keys,exists一样,返回值是删除的个数,时间复杂度是O(1)

6.expire

  给指定的key设置过期时间,超过这个时间这个key就会被自动删除。返回值是一个数字,1表示成功,0表示失败。此处的设定过期时间,必须是针对已经存在的key设置,时间复杂度也是O(1).

想使用毫秒的话,使用pexpire key。

 7.ttl

  查询过期时间,time to live 存活时间,同时还存在pttl 这样的操作命令,时间复杂度是O(1)

返回值是剩余过期时间,-1表示没有关联过期时间,-2表示key不存在

8.type 

返回key对应的数据类型,但redis所有的key都是String类型,此处指的是对应的value的类型。

三、Redis中的过期策略(面试题)

  redis整体的策略是定期删除惰性删除

1.惰性删除

  假设key已经到过期时间了,暂时还没进行删除。key还存在。后面访问到了这个key,发现这个key已经过期,这次访问就会让redis服务器触发删除key的操作,同时返回一个nil

2.定期删除

  每次抽取一部分key进行过期时间(保证抽取检查的过程足够快)

  redis还提供了一系列内存淘汰=策略。

3.定时器

在某个时间到达之后,执行指定的任务。

1.基于优先级队列(堆),过期时间早的先出队列。

队首元素就是最早要过期的key。

此时定时器只要一个线程,让这个线程去检查队首元素,看其是否过期即可,如果队首元素还没过期,后续元素一定没过期。

2.时间轮

设置一个类似轮盘来进行定时的操作

但以上两种方案redis都没有实现。

四、总结

  本篇文章就介绍了Redis的通用命令,但Redis还有更多的命令,这就需要再使用时大家能够去Redis官网进行查询。感谢大家观看!

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

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

相关文章

Linux程序设计(第四版)| 学习笔记

上次学习Linux相关内容还是上学的时候为了应付考试,最近有项目涉及Linux,重新学习以下。 很多年前关于Linux的总结 一、入门 1.概念 (1) UNIX 1)定义:指的是一种遵循特定规范的计算机操作系统。 2)特点:简单性、集中性、可重用…

PostgreSQL 的历史

title: PostgreSQL 的历史 date: 2024/12/23 updated: 2024/12/23 author: cmdragon excerpt: PostgreSQL 是一款功能强大且广泛使用的开源关系型数据库管理系统。其历史可以追溯到1986年,当时由加州大学伯克利分校的一个研究团队开发。文章将深入探讨 PostgreSQL 的起源、…

Ubuntu22.04 LTS 安装nvidia显卡驱动

准备跑老师给定的Github上的多模态源码,但是用了这么久ubuntu还没有尝试过安装nvidia驱动,好在也是一次成功,于是记录下来。 借鉴的是Ubuntu22.04安装显卡驱动(高速、避错版)-CSDN博客这篇文章,按照流程来基本没有问题,不过个人觉得有些步骤比较冗余,所以记录下来 主要…

WPS工具栏灰色怎么办

WPS离线不登录,开启工具栏等相关功能 当你在使用WPS的过程中,若因网络问题或其他特殊原因,导致无法登录使用WPS时,可根据以下步骤开启离线兼容模式,开启此模式后,可在未登录的状态下,激活并使用…

国标GB28181-2022平台EasyGBS:安防监控中P2P的穿透方法

在安防监控领域,P2P技术因其去中心化的特性而受到关注,尤其是在远程视频监控和数据传输方面。P2P技术允许设备之间直接通信,无需通过中央服务器,这在提高效率和降低成本方面具有明显优势。然而,P2P技术在实际应用中也面…

Mac Android studio 升级LadyBug 版本,所产生的bug

当Build 出现,这样的文字以后: Your build is currently configured to use incompatible Java 21.0.3 and Gradle 7.3.3. Cannot sync the project. We recommend upgrading to Gradle version 8.9. The minimum compatible Gradle version is 8.5. …

com.google.common.collect.ImmutableList$SerializedForm

今天AndroidStudio安装了个2021版本的,gradle用了7.3.3,创建项目后控制台总是有这样一个错误: Unable to load class com.google.common.collect.ImmutableList$SerializedForm. This is an unexpected error. Please file a bug containing…

Docker部署Sentinel

一、简介 是什么:面向分布式、多语言异构化服务架构的流量治理组件 能干嘛:从流量路由、流量控制、流量整形、熔断降级、系统自适应过载保护、热点流量防护等多个维度来帮助开发者保障微服务的稳定性 官网地址:https://sentinelguard.io/zh-c…

HTMLCSSJavaScriptDOM 之间的关系?

一、HTML 中文名:超文本标记语言 英文名:HyperText Markup Language HTML是一种用来结构化Web网页及其内容的标记语言。 HTML 由一系列的元素组成,这些元素可以用来包围不同部分的内容,使其以某种方式呈现或者工作。 图Ⅰ 每…

Hadoop集群(HDFS集群、YARN集群、MapReduce​计算框架)

一、 简介 Hadoop主要在分布式环境下集群机器,获取海量数据的处理能力,实现分布式集群下的大数据存储和计算。 其中三大核心组件: HDFS存储分布式文件存储、YARN分布式资源管理、MapReduce分布式计算。 二、工作原理 2.1 HDFS集群 Web访问地址&…

位运算符、标记位传参

位运算符: 位运算符作用于操作数的位(bit)。 按位与(&)对应位都为1时结果为1 int a 5; // 0101 int b 3; // 0011 int result a & b; // 0001 按位或(|)对应位至少有一个为1时结…

施耐德变频器ATV320系列技术优势:创新与安全并重

在工业自动化领域,追求高效、安全与智能已成为不可阻挡的趋势。施耐德变频器ATV320系列凭借其强大的设计标准和全球认证,成为能够帮助企业降低安装成本,提高设备性能的创新解决方案。 【全球认证,品质保障】ATV320 系列秉持施耐德…

项目练习:element-ui的valid表单验证功能用法

文章目录 一、情景说明二、代码实现 一、情景说明 一般表单提交的时候,都要对表单数据进行前段验证。 比如登陆表单提交。 二、代码实现 package.json "element-ui": "2.15.14",main.js 引用ElementUI import ElementUI from element-ui; i…

【es6复习笔记】Symbol 类型及其应用(9)

一、Symbol 简介 Symbol 是 JavaScript 中的一种基本数据类型,它表示唯一的标识符。Symbol 的主要目的是防止属性名冲突,尤其是在多个代码库或模块中共享对象时。Symbol 值可以用作对象的属性名,这样可以确保属性名是唯一的,不会…

Linux挖矿程序排查

一、背景 我们收到一个阿里云安全告警,内容是服务器可能存在挖矿程序。 二、杀死挖矿程序 2.1 找到可疑服务器进程 #1.输入top命令,输入shift P会按照cpu的使用率大小从大到小进行排序,cpu使用率高的就是可疑进程。 top #2.查看运行该进程…

zabbix监控山石系列Hillstone配置模版(适用于zabbix6及以上)

监控项: 触发器: 监控数据:

PE文件结构

PE文件是Windows系统下可执行文件的总称,英文全称 Portable Executable 可移植的可执行文件,常见的有exe、dll、sys、com、ocx 对于学习反(木马、免杀、病毒、外挂、内核),了解PE文件结构是非常有必要且非常非常重要的…

C语言-08复合类型-结构体

一、结构体 1.结构体struct struct关键字,允许自定义复合数据类型,将不同类型的值组合在一起,这种类型称为结构体类型。 2.使用步骤 第一步:创建或声明结构体 第二步:定义结构体变量 第三步:调用并操作结…

Web前端基础知识(一)

前端是构建网页的一部分,负责用户在浏览器中看到和与之交互的内容。 网页是在浏览器中呈现内容的文档或页面。 通常,网页使用HTML、CSS、JavaScript(JS)组成。 HTML:定义了页面的结构和内容。包括文本、图像、链接等。 CSS:定义页面的样式…

网络安全词云图与技术浅谈

网络安全词云图与技术浅谈 一、网络安全词云图生成 为了直观地展示网络安全领域的关键术语,我们可以通过词云图(Word Cloud)的形式来呈现。词云图是一种数据可视化工具,它通过字体大小和颜色的差异来突出显示文本中出现频率较高…