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

Redis的基本使用

简介

  • 传统的数据库是 关系数据库,但是Redis是键值对数据库
  • 传统的数据库是基于 磁盘存储的,但是Redis是基于 内存存储的
    • 基于内存,读写性能更高
    • 内存是不大的,只能存储热点信息

安装

绿色软件,安装即可使用

在这里插入图片描述

安装服务

  • 手动启停过于麻烦,安装服务一键代替
redis-server.exe --service-install redis.windows.conf --service-name Redis --loglevel verbose
 redis-server --service-uninstall --service-name Redis 

在这里插入图片描述

验证一下

-- 查询 所有的键
keys *

在这里插入图片描述

默认是不需要密码的,需要设置密码的话,使用下面这个命令

  • Redis是没有用户这个概念的

在这里插入图片描述

常见的数据类型

在这里插入图片描述
在这里插入图片描述

字符串操作

在这里插入图片描述

set mystring jakcget mystring

查看过期时间(-2是过期的)

setex mystring 100 jakcc
ttl mystring

在这里插入图片描述
在这里插入图片描述

  • key值不存在的时候,才会存储,分布式锁
  • 设置失败返回false
setnx mystring jakccccc

操作哈希

在这里插入图片描述

存储id为100 用户的信息

  • 设置成功,返回1
hset id_100 name "John Doe"
hset id_100 email "John.com"hget id_100 name
hget id_100 email

删除

hdel id_100 email

查看对应key的所有的键和值

hkeys id_100hvals id_100

列表操作

列表式有顺序的,插入的时候从右往左依次插入,出来的时候每次弹出最后一个元素

在这里插入图片描述

插入值

王头部插入数据,所以看起来像 从左往右插入数据

lpush myList jack jojo jill

查询数据

需要起始位置和结束位置

  • 列表是从0开始的
  • -1代表最后一个
lrange myList 0 -1
lrange myList 0 1

去除元素

弹出最后一个元素

rpop myList

获取长度

llen myList

无序集合set

在这里插入图片描述

添加

-- 无序set集合 添加三个元素 不可以重复 返回的是添加成功的元素个数
SADD key1 "value1" "value2" "value3"
Sadd key2 "value4" "value5" "value3"

获取所有元素和个数

-- 获取集合key1中的所有元素
SMEMBERS key1-- 获取集合key1中的元素个数
SCARD key1

获取两个集合的交集和并集

-- 查询两个集合的交集
SINTER key1 key2-- 查询两个集合的并集
SUNION key1 key2

删除集合中的元素

-- 删除key1集合中的元素value1 value2 返回删除的元素个数
SREM key1 "value1"  "value2"
SMEMBERS  key1

有序集合zset

在这里插入图片描述

添加

-- zset中添加元素
ZADD zset_1 1 "one"
ZADD zset_1 2 "two"
ZADD zset_1 3 "three"
ZADD zset_1 4 "four"
ZADD zset_1 5 "five" 8 "eight" 9 "nine"

获取

-- 获取所有的元素
ZRANGE zset_1 0 -1 WITHSCORES
-- 获取zset中的元素 指定区间
ZRANGE zset_1 0 4
-- 获取zset中的元素 指定区间 带分数
ZRANGE zset_1 0 4 WITHSCORES
-- 获取指定分数区间的元素
ZRANGEBYSCORE zset_1 2 5 WITHSCORES

增减分数

-- 对zset中的元素进行增2 返回的是增加后的分数
ZINCRBY zset_1 2 "two"
-- 获取zset中的元素 进行减2 返回的是减少后的分数
ZINCRBY zset_1 -2 "two"

移除元素

-- 移除zset中的元素
ZREM zset_1 "one"
Zrem zset_1 "two" "three"

通用操作

在这里插入图片描述

-- 展示所有的key
keys *-- 展示z开头的key
keys z*-- 判断key是否存在 返回的是存在的key的数量
exists key
exists key1 key2-- 判断key的类型
type key1
type key2
type zset_1-- 删除key 返回的是删除的key的数量 可以删除多个key
del key1

相关文章:

Redis的基本使用

简介 传统的数据库是 关系数据库,但是Redis是键值对数据库传统的数据库是基于 磁盘存储的,但是Redis是基于 内存存储的 基于内存,读写性能更高内存是不大的,只能存储热点信息 安装 绿色软件,安装即可使用 安装服务 手…...

[241004] Linux 系统中配置文件的区别 | VirtualBox 7.1.2 发布,修复多项问题并提升性能

目录 Linux 系统中 /etc/profile, ~/.bash_profile, ~/.profile, ~/.bashrc 等配置文件的区别一、配置文件类型二、配置文件作用三、交互式登录 Shell 和非登录 Shell交互式登录 shell交互式非登录 shell 四、配置文件加载顺序五、~/.bash_profile 和 ~/.bashrc 的区别 Virtual…...

hbuilderx+uniapp+Android宠物用品商城领养服务系统的设计与实现 微信小程序沙箱支付

目录 项目介绍支持以下技术栈:具体实现截图HBuilderXuniappmysql数据库与主流编程语言java类核心代码部分展示登录的业务流程的顺序是:数据库设计性能分析操作可行性技术可行性系统安全性数据完整性软件测试详细视频演示源码获取方式 项目介绍 顾客 领养…...

SVN 迁移到 GIT,并保留提交记录

1&#xff09;svn账号与git账号映射 创建 user.txt &#xff0c;格式如下&#xff0c;user.txt 放置在git base here 所选目录下即可 schacon Scott Chacon <schacongeemail.com> selse Someo Nelse <selsegeemail.com> 为了获得 SVN 使用的作者名字列表&#xf…...

【数据结构与算法】LeetCode:堆和快排

文章目录 LeetCode&#xff1a;堆和快排排序数组数组中的第K个最大元素 &#xff08;Hot 100&#xff09;前 K 个高频元素&#xff08;Hot 100&#xff09;数据流的中位数&#xff08;Hot 100&#xff09; LeetCode&#xff1a;堆和快排 排序数组 排序数组 双向切分实现快排…...

文档大师:打造一站式 Word 报告解决方案

前言 在政府、医院、银行、财务以及销售等领域&#xff0c;常常需要创建各种报告文件来展开工作汇报&#xff0c;譬如季度销售报告、年度总结报告、体检报告和保险合同等。在没有报表工具支持之前&#xff0c;这类报告主要通过 Word 制作&#xff0c;费时费力且难以维护&#…...

Python 数字专题:全方位解析整数

目录 1. 引言 2. 整数的基本概念 2.1 定义 2.2 整数的表示 2.3 创建整数 3. 整数的基本操作 3.1 算术运算 3.2 比较运算 3.3 位运算 4. 内置函数与方法 4.1 int() 函数 4.2 abs() 函数 4.3 pow() 函数 5. 整数的性能优化 5.1 大整数的处理 5.2 使用 numpy 6. 应…...

IP协议报文

一.IP协议报头结构 二.IP协议报头拆解 1.4位版本 实际上只有两个取值&#xff0c;分别是4和6&#xff0c;4代表的是IPv4&#xff0c;6代表的是IPv6。 2.4位首部长度 IP协议报头的长度也是边长的&#xff0c;单位是*4&#xff0c;这里表示的大小为0~15&#xff0c;当数值为1…...

【分布式微服务云原生】掌握分布式缓存:Redis与Memcached的深入解析与实战指南

掌握分布式缓存&#xff1a;Redis与Memcached的深入解析与实战指南 摘要&#xff1a; 本文深入探讨了分布式缓存在现代分布式系统中的重要性&#xff0c;详细分析了Redis和Memcached两种主流的分布式缓存解决方案的原理和使用场景。文章不仅提供了核心技术的深入解析&#xff…...

计算机毕业设计 基于Python的智能文献管理系统的设计与实现 Python+Django+Vue 前后端分离 附源码 讲解 文档

&#x1f34a;作者&#xff1a;计算机编程-吉哥 &#x1f34a;简介&#xff1a;专业从事JavaWeb程序开发&#xff0c;微信小程序开发&#xff0c;定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事&#xff0c;生活就是快乐的。 &#x1f34a;心愿&#xff1a;点…...

如何查看NVIDIA Container Toolkit是否配置成功

要确认 NVIDIA Container Toolkit 是否已成功配置&#xff0c;可以按照以下步骤进行检查&#xff1a; 1.检查 NVIDIA 驱动程序 首先&#xff0c;确保你的系统已经正确安装了 NVIDIA 驱动程序&#xff0c;并且可以识别你的 GPU。你可以使用 nvidia-smi 命令来进行检查&#xf…...

python全栈学习记录(二十一)类的继承、派生、组合

类的继承、派生、组合 文章目录 类的继承、派生、组合一、类的继承二、派生三、组合 一、类的继承 继承是一种新建类的方式&#xff0c;新建的类称为子类&#xff0c;被继承的类称为父类。 继承的特性是&#xff1a;子类会遗传父类的属性&#xff08;继承是类与类之间的关系&a…...

Go语言实现长连接并发框架 - 任务执行流

文章目录 前言接口结构体接口实现项目地址最后 前言 你好&#xff0c;我是醉墨居士&#xff0c;上篇博客中我们实现了客户端的请求的实现&#xff0c;接下来我们要去实现对请求任务的处理&#xff0c;我们需要定义任务执行的流程 接口 trait/task.go type TaskFunc interfa…...

Flutter与原生代码通信

文章目录 1. 知识回顾2. 示例代码3. 经验总结我们在上一章回中介绍了通道相关的内容,本章回中将介绍其中的一种通道:MethodChannnel.闲话休提,让我们一起Talk Flutter吧。 1. 知识回顾 我们在上一章回中介绍了通道的概念和作用,并且提到了通道有不同的类型,本章回将其中一…...

每日读则推(三)

n.(事件的)发生地点,(活动的)场所 n.雄性大园丁鸟 n.多细枝的,苗条的 v.放大,扩大(声音);增强,加强 Male great bowerbirds build twiggy concert venues that amplify their raucous songs and n.园丁鸟 …...

Android Studio | 无法识别Icons.Default.Spa中的Spa

编写底部导航栏&#xff0c;涉及到Spa部分出现报红&#xff1a; 解决办法&#xff1a;在build.gradle.kts中引入图标依赖 dependencies {implementation "androidx.compose.material:material-icons-extended:<version>" }...

SKD4(note上)

微软提供了图形的界面API&#xff0c;叫GDI 如果你想画某个窗口&#xff0c;你必须拿到此窗口的HDC #include <windows.h> #include<tchar.h> #include <stdio.h> #include <strsafe.h> #include <string>/*鼠标消息 * 键盘消息 * Onkeydown * …...

rabbitmq----数据管理模块

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 交换机数据管理管理的字段持久化管理类内存管理类申明交换机删除交换机获取指定交换机 队列数据管理管理的字段持久化管理类内存管理类申明/删除/获取指定队列获取所…...

【人工智能深度学习应用】妙笔API最佳实践

AI妙笔是一款以文本创作为主、多模态为辅的生成式创作大模型产品&#xff0c;专门为传媒、政务等特定的行业和组织提供行业化的内容创作辅助。它具备深度的行业知识&#xff0c;能够生成高质量的专业内容&#xff0c;能覆盖各行业常见的文体类型&#xff0c;写作文体丰富多样&a…...

SOMEIP_ETS_150: SD_Send_triggerEventUINT8Multicast_Eventgroup_6

测试目的&#xff1a; 验证DUT在Tester订阅事件组后&#xff0c;能够响应Tester触发的triggerEventUINT8Multicast方法&#xff0c;并将TestEventUINT8Multicast事件发送到订阅请求中端点选项指定的IP地址和端口。 描述 本测试用例旨在确保DUT能够正确处理事件组的订阅请求&…...

V4L2总结(1)- 编程使用总结

V4L2 编程使用总结说明&#xff1a; V4L2(Video For Linux Two) 是内核提供给应用程序访问音、视频驱动的统一接口。 流程&#xff1a; 内存映射方式打开设备文件。 int fdopen(”/dev/video0″,O_RDWR);取得设备的capability&#xff0c;看看设备具有什么功能&#xff0c…...

知网/维普/万方三大平台AI检测全攻略:一文搞懂怎么通过

知网/维普/万方三大平台AI检测全攻略&#xff1a;一文搞懂怎么通过 前段时间帮学弟查了一篇论文&#xff0c;知网AI率38%&#xff0c;维普26%&#xff0c;万方19%。同一篇论文&#xff0c;三个数字差出一大截。他当时都懵了&#xff1a;“我到底该信哪个&#xff1f;” 答案很简…...

告别Arcmap导出烦恼:手把手教你用Photoshop拼接多数据框透明PNG

告别Arcmap导出烦恼&#xff1a;手把手教你用Photoshop拼接多数据框透明PNG 在地图制作过程中&#xff0c;我们经常遇到这样的困扰&#xff1a;精心设计的多数据框地图在Arcmap中显示完美&#xff0c;但导出为透明PNG后却出现各种显示异常。特别是当我们需要在学术论文或报告中…...

Stata数据操作与可视化实战:从导入到分析的全流程指南

1. 数据导入与基础管理 第一次打开Stata时&#xff0c;很多人会被那个看似复杂的界面吓到。别担心&#xff0c;我刚开始用的时候也这样。其实Stata的数据导入比Excel还简单——你完全可以用最原始但有效的方式&#xff1a;CtrlC和CtrlV。复制Excel表格里的数据后&#xff0c;在…...

从并发冲突到全局有序:基于Redis分布式锁的雪花算法优化实践

1. 当订单号开始"撞衫"&#xff1a;高并发下的雪花算法困境 去年双十一大促时&#xff0c;我们电商系统遭遇了诡异现象——凌晨秒杀活动开始后&#xff0c;部分用户支付的订单竟然显示相同订单号。这就像两件不同款式的衣服被贴上了相同的条形码&#xff0c;导致仓库…...

避坑指南:为什么你的原型开发总在需求阶段卡壳?

避坑指南&#xff1a;为什么你的原型开发总在需求阶段卡壳&#xff1f; 在中小型开发团队中&#xff0c;原型开发常常被视为项目启动的"敲门砖"&#xff0c;但令人困惑的是&#xff0c;这块敲门砖往往卡在了需求阶段的门缝里。我曾见证过多个团队在原型开发初期就陷入…...

如何为群晖NAS安装Intel 2.5G网卡驱动:全面兼容性解决方案

如何为群晖NAS安装Intel 2.5G网卡驱动&#xff1a;全面兼容性解决方案 【免费下载链接】synology-igc Intel I225/I226 igc driver for Synology Kernel 4.4.180 项目地址: https://gitcode.com/gh_mirrors/sy/synology-igc 还在为群晖NAS无法识别Intel 2.5G以太网卡而困…...

Inno Setup 进阶技巧:如何自定义安装界面并支持多语言(含中文)

Inno Setup 高级定制&#xff1a;打造品牌化多语言安装向导的完整指南 当你的软件需要面向全球市场发布时&#xff0c;一个专业、本地化的安装体验至关重要。Inno Setup作为Windows平台最受欢迎的免费安装程序制作工具&#xff0c;其强大的定制能力往往被大多数开发者低估。本文…...

从basicfwd到实战:手把手教你用DPDK 23.11写一个高性能发包程序(附完整源码)

从basicfwd到实战&#xff1a;DPDK 23.11高性能发包程序开发全指南 在当今高速网络应用开发领域&#xff0c;DPDK&#xff08;Data Plane Development Kit&#xff09;已成为构建高性能网络应用的黄金标准。本文将带您从官方basicfwd示例出发&#xff0c;逐步构建一个具备生产级…...

电力系统动态无功补偿技术:基于MATLAB/Simulink仿真的静止无功发生器SVG与控制策...

电力系统动态无功补偿 MATLAB&#xff0c;simulink仿真 静止无功发生器SVG SVPWM控制&#xff0c;ip-iq瞬时无功电流检测&#xff0c;电压PI外环&#xff0c;电流PI内环控制。 三类负载&#xff0c;阻感性&#xff0c;阻容性&#xff0c;谐波负荷在电力系统中&#xff0c;动态无…...