零基础学习Redis(3) -- Redis常用命令

news2024/11/26 21:45:36

Redis是一个 客户端-服务器 结构的程序,Redis客户端和服务器可以在同一台主机上,也可以在不同主机上,客户端和服务器之间通过网络进行通信。服务器端负责存储和管理数据。客户端则可以通过命名对服务端的数据进行操作。

Redis客户端有多种,1.自带的命令行客户端(redis-cli),2.带图形界面的客户端(不推荐使用),3. 基于Redis的api自行开发的客户端(类似于mysql的jdbc,工作中最常用的)

这里使用redis-cli来演示命令的使用,在linux服务器中输入 redis-cli即可打开客户端:

1. set get 命令

set命名和get命令 是redis中最常用也是最核心的两个命令。

  • set:把key可value存入redis
  • get:根据key查找value

使用方式:

set key value

 

这里key和value默认是字符串类型,可以加上单引号或双引号也可不加 ,redis中命令不区分大小写。

get key

当key不存在时get命令会返回nil,和null类似 

2. keys

keys命令可以进行模糊查询,返回匹配到的key,当我们输入keys时会提示要填写pattern也就是匹配的规则

pattern规则:

这里我们先添加一些数据方便演示

? 匹配任意一个字符

* 匹配任意多个字符包括0个

[abc..] 只能匹配括号中的字符

[^abc]排除括号中的字符

[a-d]匹配ad区间内的字符

注意:keys命名的复杂度是O(N) ,所以在线上环境要慎重使用keys,特别是 keys *,因为线上环境中的key可能会非常多,而redis是一个单线程的服务器,如果使用keys * 语句会查询所有的key,执行时间可能会很长,导致其他客户端的服务被阻塞超时,redis通常又是作为缓存,此时超时的请求就会直接在数据库中查,就可能会有大量的请求短时间到达数据库,导致数据库瘫痪

3. exists

exists命令用于判断一个或多个key是否存在,会返回key存在的个数(注意redis中key不能重复)

exists key1 key2 ...

 

hello 和key1存在key不存在所以返回2,redis是以哈希表的形式来组织数据的,所以判断某个key是否存在的操作是O(1)级别的

注意:Redis客户端要对数据操作,会通过网络发送命令给服务器,所以redis命令大多都是支持批量操作的,就可以通过一次网络通信操作多个数据,节省时间

4. del

del key1 key2 ...

删除一个或多个key返回删除的数量

hallo和hllo存在,key不存在,所以返回2,再次查询,可以看到删除成功:

5. exprire 

expire key seconds 

给指定的key设置过期时间,单位为秒,从设置起,如果key存活超过过期时间,key就会被删除,设置成功返回1 失败返回0, 可以通过 tll key 查看对应的key还有多久过期,如果key不存在或已经过期,返回-2:

对计算机来说,秒是一个比较长的时间单位,于是redis还提供了一个pexpire用于设置毫秒级的过期时间:

pexpire key milliseconds 

redis 的过期策略是如何实现的?(面试题)

  1. 定期删除:定期抽取一部分数据检查是否到达过期时间(因为redis是单线程,如果数据量大抽取全部数据会导致阻塞)
  2. 惰性删除:由于定期删除每次只检查一部分数据,很有可能某个数据到达过期时间了还没有被删除,当这个数据被访问到时,redis就会立刻删除这个key。

虽然有了上面两种策略,但整体的删除效果还是一般,于是redis还提供了一系列的内存淘汰策略(这里不展开叙述感兴趣可以自行了解) 。

注意:redis并没有采用定时器的方式来实现过期策略

6. type

type key

返回key对应的value的数据类型

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

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

相关文章

2024年下半年,单独划定的地区报名软考的温馨提示

软考分数线分为全国分数线、省分数线(陕西省下半年已取消,仅剩青海省)、以及单独划线地区分数线。目前各地2024年下半年软考正在接受报名,请单独划线地区的考生注意——有些地区可能要求考生在考试后进行单独划线申请,…

五大无线领夹麦克风常见“智商税”揭秘:选购时务必留意

​随着科技的进步和音频市场的多元化发展,无线领夹麦克风已经成为了各类场合中不可或缺的工具。从专业的影视制作到日常的个人直播,一个优秀的无线麦克风都能极大地提升语音的清晰度和传播的效果。为了让大家更好地选择适合自己的麦克风,我们…

开放式耳机什么品牌好?精选五大公认王牌机型横评汇总!

很多人在通勤路上跟运动时候喜欢听音乐,一些音乐可以为运动增加一定的激情,在通勤路上没有这么久路程,而开放式耳机是最适合佩戴的,不入耳不伤耳,解放双耳设计,还能接收外界环境声,避免不必要事…

阿里云CentOs ClickHouse安装

🌹作者主页:青花锁 🌹简介:Java领域优质创作者🏆、Java微服务架构公号作者😄 🌹简历模板、学习资料、面试题库、技术互助 🌹文末获取联系方式 📝 ClickHouse安装目录 前言…

NO呼气检测在临床应用重要性

呼出气一氧化氮(exhaled nitricoxide,eNO)由气道上皮细胞中的一氧化氮合成酶(nitricoxide synthase,NOS)催化 L-精氨酸产生。 目前临床最常使用的呼出气流速为50ml/s时检测到的数值,是目前最常…

VLM调研记录

Visual Autoregressive Modeling: Scalable Image Generation via Next-Scale Prediction 北大和字节团队的一篇VLM,在生成任务上,用GPT范式,声称在FID上超过了DIT,SD3和SORA。开源。首先是multi-scale的VQVAE,然后是…

第二百零九节 Java格式 - Java数字格式类

Java格式 - Java数字格式类 以下两个类可用于格式化和解析数字: java.text.NumberFormatjava.text.DecimalFormat NumberFormat 类可以格式化一个数字特定地区的预定义格式。 DecimalFormat 类可以格式化数字以特定区域设置的自定义格式。 NumberFormat类的 getXXXInstance…

实战分享:服务可视化编排在交付团队中的真实作用

最近有个技术团队的CTO 交流的时候,聊到了逻辑引擎、API服务编排,他很反感逻辑的编排,觉得还不如写代码来得快。 对方是一个小型的交付团队,对方的老板(也稍微懂一些技术,不是很深刻)&#xff…

常见网络协议汇总(非常详细)从零基础入门到精通,看完这一篇就够了

前言 本篇博客将对基于 计算机网络五层模型 中的常见协议做以总结 ,目的通过这些具体的协议更深刻的认识整体网络的传输流程及相关网络原理 计算机网络五层模型回顾 应用层:为用户为用户的应用进程提供网络通信服务 协议——DNS协议、HTTP协议、HTTPS协…

浪潮服务器NVME 硬盘通过 Intel VROC 做RAID

INTEL VROC Configuration solution 1.VMD configuration in BIOS Processor > IIO Configuration> Intel(R) VDM Technology> Intel(R) VMD for volume Management Device on Socket 0 “CPU 0”, Intel VMD for volume management device for “PStack0” or “PSta…

fluent UI 中的Combobox如何在option的上面加一个input

fluent UI 9 中的Combobox如何在它自带的input框下面,option的上面,再加一个用于search的input框 会出现一个问题,点击search input框,可以触发input的onClick事件,但是无法获取焦点,焦点还在select的下拉…

龙格-库塔法(Matlab实现)

四阶龙格-库塔法介绍 在各种龙格-库塔法当中有一个方法十分常用,以至于经常被称为“RK4”或者就是“龙格-库塔法”。该方法主要是在已知方程导数和初始值时,利用计算机的仿真应用,省去求解微分方程的复杂过程。 令初…

干货分享|如何使用SD插件进行老旧照片修复上色?

每个家庭都保存着一些温馨记忆的老照片。修复并给老照片上色曾经是一项难度颇大的技术活,现在有了AI技术的加持,使用Photoshop和SD插件,几分钟内就能让那些泛黄老旧的照片焕然一新。 打开一张老照片后按CtrlA快捷键以选取整个画布&#xff…

Linux命令抽象

linux命令都含有一定格式,有具体的语法。我们应用命令时一般需要按语法应用。 有些特殊命令,不遵从通用格式,应用时要格外注意。 命令很多,不需要都记住,但对命令有一个整体的了解,对快速使用命令、找到需…

MySQL运维学习(2):主从复制

1.什么是主从复制 *主从复制是指将主数据库的DDL和 DML操作通过二进制日志传到从库服务器中,然后在从库上对这些日志重新执行(也叫重做),从而使得从库和主库的数据保持同步。 MySQL支持一台主库同时向多台从库进行复制,从库也可以作为其他从…

Django 集成与扩展:Database Task Queue

文章目录 Django 连接 PostgreSQL安装 PostgreSQL 驱动配置 PostgreSQL 数据库更新 Django 设置确保证书文件的权限测试连接示例:完整的 settings.py 配置注意事项 Django 连接 MySQL安装 MySQL 驱动配置 MySQL 数据库更新 Django 设置运行迁移调试连接问题 Django …

独立站卖家投放Facebook广告的8个建议

在外贸领域,独立站结合Facebook广告投放是一种推动销售增长的关键策略,而结合自动化广告投放工具能使广告投放变得更加高效。以下是一系列针对外贸独立站卖家的Facebook广告投放建议,希望能帮助卖家更有效地利用这一平台,实现营销…

ISO 26262中的失效率计算:IEC 61709-Clause 17_Switches and push-buttons

概要 IEC 61709是国际电工委员会(IEC)制定的一个标准,即“电子元器件 可靠性 失效率的基准条件和失效率转换的应力模型”。主要涉及电学元器件的可靠性,包括失效率的基准条件和失效率转换的应力模型。本文介绍IEC 61709第十七章&…

四川财谷通,信息科技引领者!

在数字化浪潮席卷全球的今天,电子商务作为新经济形态的重要代表,正以前所未有的速度改变着我们的生活方式和消费习惯。四川财谷通信息技术有限公司,作为这一领域的佼佼者,凭借其深厚的技术底蕴与创新思维,在抖音小店这…

机房动环监控系统的主要功能@卓振思众

机房动环监控系统(Data Center Environmental and Monitoring System)是一种用于监测和管理数据中心或机房内部环境和设备状态的系统。其主要目的是确保机房设备在最佳环境条件下运行,从而提高系统的稳定性和安全性。以下是【卓振思众】机房动…