学习Redis缓存基础篇(02)——Redis常用命令及拓展

Redis缓存 缓存机制说明 缓存机制原理说明 缓存机制: 缓存中的数据,一定是数据库中的数据,使用缓存主要的目的就是降低用户访问物理设备的频次. 如果数据库记录更新,则缓存应该同步更新. 1.缓存的数据结构 K-V结构进行数据保存 2. 开发语言选择 C语言程序 3. 缓存数据的运行环境在内存中, 断电即擦除. 将内存数据进行持久化操作. 4. 如果不停的添加缓存的记录肯定会造成内存溢出. 定期优化缓存机制. 1.LRU算法 2.LFU算法 3.Random 4.TTL 5. 缓存也需要实现高可用机制.搭建缓存集群. 阅读详情


查看redis是否启动命令:ps -ef|grep redis
进入redis/bin目录下启动redis命令:

redis-server /usr/local/redis/etc/redis.conf
redis-cli -p 6379

在这里插入图片描述
简单输入一个HelloWorld
在这里插入图片描述

redis-benchmark  redis自带的单元测试,检测redis的性能

在这里插入图片描述

Redis知识杂项

单进程

单进程模型来处理客户端的请求,对读写等时间的响应是通过对epoll函数的包装来做到的,Redis的实际处理速度完全依靠主进程的执行效率。
Epoll是Linux内核为处理大批量文件描述符而作了改进的epoll,是Linux下多路复用IO接口select/poll的增强版本,他能显著提高程序在大量并发连接中只有少量活跃的情况下的系统CPU利用率。

默认16个数据库,类似数组下表从零开始,初始默认使用零号库。

(1) select命令可以切换库,图为切换到7号库
在这里插入图片描述
(2) DBSIZE查看当前数据库的key的数量
在这里插入图片描述
(3) keys * 查看所有key
在这里插入图片描述
(4) 模糊查询
在这里插入图片描述
(5) FLUSHALL和FLUSHDB 清空所有数据库和清空当前数据库

Redis的五大数据类型

Redis命令参考大全 Http://redisdoc.com/

(1) EXISTS 判断key是否存在
在这里插入图片描述
(2) move 移动key

move k1 2    //将k1移动到2号库

在这里插入图片描述

(3) expire 为给定的key设置过期时间;ttl key查看还有多少秒过期,-1表示永不过期,-2表示已过期
在这里插入图片描述
(4) type key 查看你的key是什么类型
在这里插入图片描述

String(字符串)

String是redis最基本的类型,你可以理解成为Memcached一模一样的类型,一个key对应一个value。string类型是二进制安全的,意思是redis的string可以包含任何数据,比如jpg图片或者序列化的对象,string类型是redis最基本的数据类型,一个redis中字符串value最多的值可以是512M。
(1)append可创建新的K-V键值对,也可在原有的值后添加新的值
在这里插入图片描述
(2)STRLEN 查看字符长度
(3)INCR 值+1。
(4)INCRBY 值+x
在这里插入图片描述
(5)DECRBY 值-x
(6)getrange/setrange
getrange:获取指定区间范围内的值,类似between…and的关系
setrange:设置指定区间范围内的值,格式是setrange key值 具体指(设值覆盖)
在这里插入图片描述
在这里插入图片描述
(7)setex k4 10 v4 设置key的生命周期为10s(ttl获取key的剩余生命周期)
在这里插入图片描述
(8)setnx (if not exist)判断是否存在进行设值,如果存在则不对值进行覆盖。
(9) mset/mget/msetnx 一条命令设置多个键值对
在这里插入图片描述

List(列表)

Redis列表是简单的字符串列表,安装插入顺序排序,你可以添加一个元素导列表的头部(左边)或者尾部(右边)
它的底层实际上是一个链表
(1)lpush/rpush/lrange压栈
先进后出
在这里插入图片描述
先进先出
在这里插入图片描述
(2)lpop/rpop出栈
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
(3)lindex:按照索引下标获得元素(从上到下)
(4)len 表示list的长度。
(5) lrem key 删N个value
在这里插入图片描述
(6)ltrlm key 开始index 结束index,截取指定范围的值后再赋值给key

在这里插入图片描述
(7)rpoplpush 源列表 目的列表

在这里插入图片描述
(8) lset key index value(依据坐标设置新的值并覆盖)
在这里插入图片描述
(9) linsert key before/after 值1 值2
在这里插入图片描述

LIST性能总结

它是一个字符串链表,left、right都可以插入添加。
如果键不存在,创建新的链表。
如果键已存在,新增内容。
如果值全移除,对应的键也就消失了。
链表的操作无论是透和尾效率都极高,但假如是对中间元素进行操作,效率就很惨淡了。

Set(集合)

Redis的Set是string类型的无序集合,它是通过HashTable实现的。
(1)sadd/smembers/sismember

在这里插入图片描述
(2) scard 获取集合里面的元素有多少个
(3) srem key value 删除集合中元素
( 在这里插入图片描述
(4) srandmember key 某个证书(随机出几个数)
在这里插入图片描述
(5) spop key 随机出栈
在这里插入图片描述
(6) smove key1 key2 在key1里某个值 作用是将key1里的某个值赋给key2

(7)数据集合类:差集——sdiff ,交集——sinter ,并集:sunion
在这里插入图片描述

Hash(哈希)

Redis hash 是一个键值对集合。
Redis hash是一个string类型的field和value的映射表,hash特别适合于存储对象。
类似java里面的Map<String,Object>
KV模式不变,但V是一个键值对
(1)hset/hget/hmset/hmget/hgetall/hdel
在这里插入图片描述
(2)hlen 长度
hexists key 在key里面的某个值的key
hkeys/hvals 全部键/值
在这里插入图片描述
(3)hincrby/hincrbyfloat
在这里插入图片描述

Zset(sorted set:有序集合)

zset(sorted set:有序集合)
Redis zset和set一样也是string类型元素的集合,且不允许重复的成员。
不同的是每个元素都会关联一个double类型的分数。
redis正是通过分数来为集合中的成员进行从小到大的排序,zset的成员是唯一的,但分数(score)却可以重复
多说一句
在set基础上,加一个score值,之前set是k1 v1 v2 v3,现在zset是k1 score1 v1 score2 v2
(1)zadd/zrange
在这里插入图片描述
在这里插入图片描述

(2)zrangebyscore key 开始score 结束score
在这里插入图片描述
请注意观察不同
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
(3)zrem key 某score下对应的value值,作用是删除元素

在这里插入图片描述
(4)zcard/zcount key score区间/zrank key values值,作用是获得下标值/zscore key 对应值,获得分数
在这里插入图片描述
(5)zrevrank key value值,作用是逆序获得下标值
(6) zrevrange逆序获得值列表 / zrevrangebyscore key逆序获得指定范围值列表
在这里插入图片描述

VMware Converter 6.2.0保姆级教程:从物理机到ESXi主机的完整迁移指南(含常见错误排查) 本文提供VMware Converter 6.2.0从物理机迁移至ESXi主机的完整保姆级教程。详细解析了迁移前的环境规划、核心转换过程步骤、版本差异对比,并重点针对代理安装失败、任务卡顿、虚拟机无法启动等常见错误提供了实战排查与解决方案,确保P2V迁移顺利进行。 阅读详情

相关推荐

鸿蒙读书笔记1:《鸿蒙操作系统设计原理与架构》

GUI、 语 音 控 制 方 式 的 VUI(Voice User Interface, 语 音 用 户 界。电话、多媒体、DFX、MSDP(Multimodal Sensor Data Platform,多。面)、手势/姿态控制的CVUI(Computer Vision User Interface,计算。KAL(Kernel Abstract Layer,内核抽象层)通过屏蔽多内核差异,JavaScript、C、C++等多语言的用户程序开发框架,以及UI框架、

jackyrongvip的专栏 2449

Linux下安装Redis(超详细教程)

最近部署项目的时候用到了Redis,自己在安装的时候也碰到了一些列问题最终安装成功,记录一下自己的安装历程。 前期准备: 服务器Linux版本:Centos8.4 64位(http://isoredirect.centos.org/centos/8/isos/x86_64/) Redis版本:6.0.5 下载Redis 方式一: 找到redis官网(https://redis.io/download) 如果不想下载最新稳定版本而是想要下载指定的版本 (https://download.redis.io/

qq_45784913的博客 9万+

汽车以太网- IEEE 802.3标准

关于汽车以太网,大家看到最多的标准大概就是IEEE802.3bw,也就是我们车内使用的百兆以太网,专业称呼是100BASE-T1,该标准是车内百兆以太网的物理层协议,是我们学习汽车以太网必须要了解的协议。在正式了解协议之前,我们先介绍下什么是IEEE802.3标准。............

weixin_39974126的博客 7109

Redis快速入门与应用

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 欢迎使用Markdown编辑器 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar

weixin_43483246的博客 375

Python xlwings报错解决:从‘NoneType‘到完美运行WPS表格的完整指南

本文深入解析了使用Python xlwings库自动化WPS表格时遇到的经典'NoneType'报错(AttributeError: 'NoneType' object has no attribute 'apps')的根源与解决方案。核心在于pywin32版本与WPS的兼容性问题,文章提供了从版本降级、依赖管理到构建健壮自动化环境的完整实战指南,帮助开发者彻底解决兼容性难题,实现稳定运行。

n4o5p6q7r的博客 303

STM32硬件SPI调试ADS1256的3个致命坑,CubeMX配置避坑指南

本文深入解析STM32硬件SPI调试ADS1256高精度ADC芯片时常见的3大配置陷阱,包括SPI时钟频率、时钟极性与相位、数据字节序等关键问题。通过CubeMX实战配置指南和实测数据对比,提供稳定可靠的解决方案,帮助开发者避免常见错误,提升采样精度和系统稳定性。

weixin_42550597的博客 346

redis

REmote DIctionary Service 为什么学习Redis? 在高并发和高访问量的情况下,关系型数据库(基于磁盘读写)满足不了我们访问的需求时,我们需要一种基于内存读写的数据库。 关系型数据库和非关系型数据库对比: 关系型数据库 非关系型数据库 优点 1、以表格的形式,基于行存储,是一个二维模式。 2、存储结构化的数据,数据存储有固定的模式...

三十岁“开始”学Java 235

CVE-2025-25249漏洞深度解析:FortiOS认证绕过与实战缓解

远程代码执行(RCE)是网络安全中最危险的漏洞类型之一,其核心往往源于认证机制失效或内存安全缺陷。CVE-2025-25249正属于此类高危漏洞——它不依赖用户凭证,也不需要交互触发,而是通过超长HTTP头(如X-Forwarded-For)引发内存越界写入,直接绕过FortiOS和FortiSwitchManager的完整认证流程。该漏洞影响广泛、CVSS评分高达9.8,凸显了嵌入式设备在HTTP协议栈实现中的深层风险。在企业网络中,FortiGate等设备常作为边界守门人,一旦失陷将导致root级控制权

weixin_33694620的博客 524

Linux命令(持续更新)

ls -lr 默认是最近修改的在前 ls -lrt 那么想升序只需反转下就可以了,所以加上-r参数 ps -ef 和 ps -aux Linux下显示系统进程的命令ps,最常用的有ps -ef 和ps aux。这两个到底有什么区别呢?两者没太大差别,讨论这个问题,要追溯到Unix系统中的两种风格,System V风格和BSD 风格,ps aux最初用到Unix Style中,而ps -ef被用在System V Style中,两者输出略有不同。现在的大部分Linux系统都是可以同时使用这两种方式的。 ps

qq_42642159的博客 473

使用ST-LINK烧录stm32教程说明

使用ST-LINK烧录stm32

qq_34426854的博客 1万+

从DWS到设备树:MTK平台LK阶段GPIO初始化的隐秘路径与调试实战

本文深入探讨了MTK平台LK阶段GPIO初始化的完整流程,揭示了从DWS配置到设备树生成的隐秘转换路径。通过分析MT6768等平台的启动框架,提供了针对preloader到LK阶段GPIO初始化异常的实战调试方法与最佳实践,帮助开发者有效解决硬件与软件配置不匹配的常见问题。

h9j8k7l6m5n的博客 1003

从入门到入土,万字超详细Redis学习笔记 【基础篇】+【实战篇】

从入门到入土,万字超详细Redis学习笔记 【基础篇】+【实战篇】 文章目录从入门到入土,万字超详细Redis学习笔记 【基础篇】+【实战篇】redis通用命令resp图形化界面连接redisString类型的常用命令key的层级结构Hash类型的常见命令LIst类型的常见命令Set类型的常见命令SortedSet类型常用命令Redis的java客户端JedisJedis连接池SpringDataRedisRedis的实战运用场景基于Redis实现共享session登录Redis缓存缓存更新策略缓存穿透缓存

weixin_67774087的博客 1747

【OpenClaw从入门到精通】命令行操作指南——TUI模式高效管理OpenClaw(2026避坑版)

本文将详细介绍OpenClaw的命令行操作,重点介绍TUI(Text User Interface)模式的高效使用方法,以及在实际使用中需要避免的常见陷阱。通过本文的学习,你将掌握OpenClaw命令行的精髓,提升工作效率。

一键难忘的博客 1691

Redis学习 ——缓存

我们在日常的代码编写中比较少使用到Redis,但是如果涉及到了比较大型的项目,常常避不开Redis这一项技术,那么在什么样的场景需要使用Redis呢。首先我们得明白Redis是一个高性能得键值数据库,我们使用它得原因很简单,就是因为快。这个问题在大并发,高负载的网站中必须考虑。redis数据库中的所有数据都存储在内存中。由于内存的读写速度远快于硬盘,因此Redis的的的在性能上对比其他基于硬盘存储的数据库有非常明显的优势。

m0_74345597的博客 2624

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

Redis缓存基础

Redis(Remote Dictionary Server)是一个开源的、基于内存的高性能键值存储数据库。支持多种数据结构,常用于缓存、消息队列、会话存储等场景。特点:速度快(内存操作)、支持持久化、单线程模型(避免线程竞争)。速度快:Redis 将所有数据存储在内存中,而不是磁盘上。内存的读写速度远远高于磁盘,因此 Redis 能够快速响应客户端请求,处理数据的读写操作。支持持久化:Redis 持久化通过将内存中的数据定期保存到磁盘文件(RDB 快照)或记录每次写操作的命令日志。

weixin_45675311的博客 944

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

【Redis学习 | 第5篇】Redis缓存 —— 缓存的概念 + 缓存穿透 + 缓存雪崩 + 缓存击穿

缓存:数据交换的缓冲区(Cache),是临时存储数据的地方,一般读写性能较高。比如说,CPU读取数据是内存从磁盘中读取,再到CPU,磁盘中读取数据速度非常慢,于是在 CPU 中设置一个缓冲区,将 CPU常用的数据存储在该缓冲区中,需要使用这些数据时,直接从缓冲区中读取要比从磁盘中读取快得多!缓存的作用: 降低后端负载;提高读写效率,降低响应时间缓存的成本:数据一致性成本;代码维护成本;运维成本。

serendipity_hky的博客 1564

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Redis 篇-深入了解查询缓存与缓存所带来的问题(读写不一致、缓存穿透、缓存雪崩、缓存击穿)

如果没有命中,根据用户 id 到数据库中查询用户信息,如果用户信息不为 null ,则说明用户信息是存在的,那么将用户信息写回到缓存中,方便下一次查询可以直接从缓存中获取用户信息;第一次会到数据库查询该用户信息,当该用户信息不存在时,则会在 redis 中设置空值,这样的好处,下一次的查询该用户,就不会打到数据库中了,减少了数据库的压力。设置缓存中 key 的逻辑过期,顾名思义:在实际上,缓存中的 key 是设置永远不过期,将其添加过期字段,通过查看该字段,来判断该 key 在缓存中是否已经过期了。

小扳手 3274

【Redis缓存】

相比于数据库而言,缓存的操作性能更高,缓存性能高的主要原因有以下几点:1、缓存一般都是key-value查询数据的,因为不像数据库一样还有查询的条件等因素,所以查询的性能一般会比数据库高;2、缓存的数据是存储在内存当中的,而数据库的数据是存储在磁盘当中的,因为内存的操作性能远远大于磁盘,因此缓存的查询效率会高很多;3、缓存更容易做分布式部署(当一台服务器变成多台相连的服务器集群),而数据库一般比较难实现分布式部署,因此缓存的负载和性能更容易平行扩展和增加。缓存大致分为两大类:本地缓存、分布式缓存本地缓存:也

weixin_54161577的博客 9827

【SpringBoot高级篇】SpringBoot集成redis缓存

SpringBoot整合redis1. Redis概述1.1 什么是Redis1.2 redis的应用场景2. Redis安装2.1 在线安装2.2 安装包安装2.2.1 在Ubuntu上安装GCC2.2.2 tar安装docker安装拉取镜像启动镜像3. 命令操作3.1 redis的数据结构:3.1.1 字符串类型 String3.1.2 哈希类型 hash3.1.3 列表类型 list3.1.4 集合类型 set3.1.5 有序集合类型 sortedset3.1.6 通用命令4. 持久化5. Java客

输入技术、输出想法 7269

Redis100篇 - Redis vs Elasticsearch 缓存和搜索场景怎么分

Redis 和 Elasticsearch,一个是“闪电侠”,一个是“侦探”。当你需要极速访问已知数据时,找 Redis;当你需要从海量未知中发现信息时,找 Elasticsearch。试图用 Redis 做全文搜索,就像让短跑冠军去破案;用 Elasticsearch 做缓存,则像让侦探送外卖——都不是最优解。✨真正的架构艺术,在于让每个工具做它最擅长的事。主数据 → MySQL/MongoDB搜索索引 → Elasticsearch热点缓存 → Redis。

千淘万漉虽辛苦,吹尽狂沙始到金 2万+

第02章—先导基础篇:初识Redis

首先,我们一起看了一下 Redis 官网的文档,了解了一下 Redis 的重要特性;然后,从服务架构演进的角度,回答了一下为什么要在项目里面使用 Redis 的问题;最后,通过五个维度的对比,详细回答了一个技术选型的问题:我们为什么选用 Redis 而不是 Memcached?这些都是些开放性的问题,本文给出的回答也比较简单,你可以再思考一下,尝试从其他角度回答。也欢迎你在留言区分享你的问题和想法。的问题;

运维老生常谈 1804

面试八股之Redis篇1——缓存

redis 面试必知必会系列1——缓存

做一个善良的人,做好自己的事,如果愿意,再发一份光。 1891

Redis100篇 - 教育平台:Redis存储用户学习进度+课程缓存

Redis在教育平台中的应用摘要 Redis凭借其高性能、低延迟的特性,成为在线教育平台的核心技术选型。本文通过用户学习进度追踪和课程内容缓存两大场景,展示Redis如何解决教育行业的高并发挑战: 学习进度实时记录 采用Hash存储单课程进度(章节、视频、时间戳等) 使用Sorted Set维护用户课程列表按学习时间排序 Java代码示例演示原子化更新与异步持久化 课程元数据高效缓存 热点课程数据(如详情页)通过Redis缓存降低数据库压力 结合过期策略保证数据一致性 典型应用效果: 网易有道等平台通过Re

千淘万漉虽辛苦,吹尽狂沙始到金 2万+

图解Redis缓存篇

因为 Redis 是内存数据库,我们可以将数据库的数据缓存在 Redis 里,相当于数据缓存在内存,内存的读写速度比硬盘快好几个数量级,这样大大提高了系统性能。引入了缓存层,就会有缓存异常的三个问题,分别是缓存雪崩、缓存击穿、缓存穿透。先更新数据库后更新缓存先更新缓存,后更新数据库所以,无论是「先更新数据库,再更新缓存」,还是「先更新缓存,再更新数据库」,这两个方案都存在并发问题,当两个请求并发更新到同一条数据的时候,可能会出现缓存和数据库中的数据不一致的现象。

小小博客 1011

Redis 缓存篇

缓存雪崩、击穿和穿透是Redis缓存系统的三大常见问题。缓存雪崩指大量缓存同时失效或Redis宕机,导致请求直接冲击数据库;缓存击穿是热点key失效引发大量并发请求;缓存穿透则是查询不存在的数据,绕过缓存直达数据库。解决方案包括:均匀设置过期时间、互斥锁、双key策略、后台更新缓存、服务熔断限流,以及构建高可用Redis集群。这些方法通过分散失效时间、控制并发访问、保障缓存可用性等方式,有效保护数据库并提升系统稳定性。

weixin_50999696的博客 1342

Redis学习(三)缓存

缓存机制

LB_Wuyanzu的博客 2842
上一篇: 学习Redis缓存基础篇(01)——基础知识、下载及安装~N多天后的复习总结,Redis真的得会!!!!!
下一篇: 学习Redis缓存基础篇(03)——redis.conf配置文件详解、持久化下的RDB和AOF、事务以及主从复制
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值