Redis基础笔记
一、基础知识
连接方式
- CLI (Command Line Interface)
- API (Application Programming Interface)
- GUI (Graphical User Interface)
启动
redis-server
连接到Redis(Redis CLI Client)
redis redis-cli
telnet 127.0.0.1 6379
退出
quit/exit
查看过期时间
TTL key
设置过期时间
expire key seconds
查看key是否存在
exists key
二、基本数据类型
1. String 字符串
设置键key的值为value
set key value
将键key的值设置为value,并且超时时间为seconds秒
setex key seconds value
将键key的值设置为value,并且超时时间为milliseconds毫秒
psetex key milliseconds value
只有在键key不存在的情况下,将key的值设置为value
setnx key value
返回键key的值设置为value
get key
将键key的值为value,并返回设置前的旧值。若没有旧值则返回nil
getset key value
如果键key存在并且值是⼀个字符串,则把value追加到现有值的末尾
如果key不存在,则将key的值设置为value
返回追加value之后该value的⻓度
append key value
删除给定的⼀个或多个键的值
del key [key ...]
增加/减少 1 key 存储的数字值
incr/decr key
增加/减少 n key 存储的数字值
incrby/decrby key increment/decrement
同时为多个键设置值
mset key value [key value ...]
同时返回多个键的值
mget key [key ...]
获取键为 key 的值的字符串长度
strlen key
2. List 列表
将⼀个或多个元素添加到列表key的表头(左侧),多个值则从左⾄右依次插⼊表头;如果列表key不存在,则创建⼀个然后执⾏LPUSH插⼊操作;如果列表key存在但不是列表类型,则返回错误
LPUSH key element [element ...]
当且仅当key存在并且是⼀个列表的时候,才执⾏LPUSH操作
LPUSHX key element [element ...]
将⼀个或多个元素添加到列表key的表尾(右侧),多个值则从左⾄右依次插⼊表尾;如果列表key不存在,则创建⼀个然后执⾏RPUSH插⼊操作;如果列表key存在但不是列表类型,则返回错误
RPUSH key element [element ...]
当且仅当key存在并且是⼀个列表的时候,才执⾏RPUSH操作
RPUSHX key element [element ...]
返回列表key中,位于start和stop之间的元素(包括start和stop),stop为-1表示末尾
LRANGE key start stop
将⼀个或count个元素从列表头⽅向移除并将其返回;如果列表key不存在,则返回nil
LPOP key [count ...]
将⼀个或count个元素从列表尾⽅向移除并将其返回;如果列表key不存在,则返回nil
RPOP key [count ...]
返回列表key的⻓度;如果key不存在则返回0;如果key不是列表类型则返回错误
LLEN key
返回列表key中索引为index的元素
LINDEX key index
只保留列表key中索引为start和stop之间的元素
LTRIM key start stop
列表阻塞式(Blocking)弹出。是LPOP的阻塞版本,当列表中没有任何元素时阻塞, 直到超时或发现新的可弹出元素为⽌
blpop key [key ...] timeout
brpop key [key ...] timeout
在⼀个原⼦时间内,将source列表的尾部元素弹出,并插⼊到destination列表的头 部,返回该元素; 如果列表key不存在,则返回nil
rpopl
3. Set 集合
将⼀个或多个元素加⼊到集合key中。已存在于集合中的元素将被忽略
SADD key member [member ...]
将⼀个或多个元素从集合key中移除。不存在的member元素将被忽略
SREM key member [member ...]
返回集合key中的所有成员
SMEMBERS key
判断MEMBER是否是集合key的成员,是返回1,不是或key不存在返回0
SISMEMBER key member
移除并返回集合key中的⼀个或count个随机元素
SPOP key [count]
和SPOP类似,区别在于SRANDMEMBER只返回不移除
SRANDMEMBER key [count]
4. SortedSet
将⼀个或多个member元素及其分数score加⼊到有序集合key中
ZADD key [NX|XX] [GT|LT] [CH] [INCR] score member [score
member ..]
将⼀个或多个成员从集合key中移除,不存在的member成员将被忽略
ZREM key member [member ..]
返回有序集合key中的成员member的分数值(score)
ZSCORE key member
返回有序集合key中指定区间内的成员(从⼩到⼤排列)
ZRANGE key start stop [BYSCORE|BYLEX] [REV] [LIMIT offset count]
[WITHSCORES]
返回有序集合key中指定区间内的成员(从⼤到⼩排列)
ZREVRANGE key start stop [WITHSCORES]
返回有序集合key中成员member的排名(按照score从⼩到⼤排列)
ZRANK key member
返回有序集合key中成员member的排名(按照score从⼤到⼩排列)
ZREVRANK key member
5. Hashe 哈希
将哈希表key中的域field的值设置为value
HSET key field value [field value ...]
当且仅当field不存在的时候,将哈希表key中的域field的值设置为value
HSETNX key field value
返回哈希表key中给定域field的值
HGET key field
判断给定域field是否存在于哈希表key中
HEXISTS key field
删除哈希表key中的⼀个或多个指定域field
HDEL key field [field ...]
返回哈希表key中域的数量
HLEN key
返回哈希表key中的所有域
HKEYS key
返回哈希表key中所有域的值
HVALS key
返回哈希表key中所有的域和值
HGETALL key
发布订阅
发布消息
publish 频道名 消息
订阅频道
subscribe 频道名
事务
开启事务
multi
结束事务
exec
redis中事务不是原子性的
取消事务
discard
持久化
RDB (Redis Database)
配置文件设置每隔多少时间生成一次快照
更适合用来做备份
bgsave
AOF (Append Only File)
开启AOF:
配置文件中 appendonly 的值改为 yes
相关文章:
Redis基础笔记
一、基础知识 连接方式 CLI (Command Line Interface)API (Application Programming Interface)GUI (Graphical User Interface) 启动 redis-server连接到Redis(Redis CLI Client) redis redis-cli telnet 127.0.0.1 6379退出 quit/exit查看过期时…...
前后端服务配置
1、安装虚拟机(VirtualBox或者vmware),在虚拟机上配置centos(选择你需要的Linux版本),配置如nginx服务器等 1.1 VMware 下载路径Sign In注册下载 1.2 VirtualBox 下载路径https://www.virtualbox.org/wiki/Downloads 2、配置服…...
springboot 事务管理
在Spring Boot中,事务管理是通过Spring框架的事务管理模块来实现的。Spring提供了声明式事务管理和编程式事务管理两种方式。通常,我们使用声明式事务管理,因为它更简洁且易于维护。 1. 声明式事务管理 声明式事务管理是通过注解来实现的。…...
基于Typescript,使用Vite构建融合Vue.js的Babylon.js开发环境
一、创建Vite项目 使用Vite初始化一个VueTypeScript项目: npm create vitelatest my-babylon-app -- --template vue-ts cd my-babylon-app npm create vitelatest my-babylon-app -- --template vue-ts 命令用于快速创建一个基于 Vite 的 Vue TypeScript 项目。…...
在阿里云ECS上一键部署DeepSeek-R1
DeepSeek-R1 是一款开源模型,也提供了 API(接口)调用方式。据 DeepSeek介绍,DeepSeek-R1 后训练阶段大规模使用了强化学习技术,在只有极少标注数据的情况下提升了模型推理能力,该模型性能对标 OpenAl o1 正式版。DeepSeek-R1 推出…...
git SourceTree 使用
Source Tree 使用原理 文件的状态 创建仓库和提交 验证 再克隆的时候发发现一个问题,就是有一个 这个验证,起始很简单 就是 gitee 的账号和密码,但是要搞清楚的是账号不是名称,我之前一直再使用名称登录老是出问题 这个很简单的…...
游戏引擎学习第94天
仓库:https://gitee.com/mrxiao_com/2d_game_2 回顾上周的渲染器工作 完成一款游戏的开发,完全不依赖任何库和引擎,这样我们能够全面掌握游戏的开发过程,确保没有任何细节被隐藏。我们将深入探索每一个环节,犹如拿着手电筒翻看床…...
win32汇编环境,结构体的使用示例二
;运行效果 ;win32汇编环境,结构体的使用示例二 ;举例说明结构体的定义,如何访问其中的成员,使用assume指令指向某个结构体,计算结构数组所需的偏移量得到某个成员值等 ;直接抄进RadAsm可编译运行。重要部分加备注。 ;下面为asm文件 ;>>…...
DeepSeek从入门到精通教程PDF清华大学出版
DeepSeek爆火以来,各种应用方式层出不穷,对于很多人来说,还是特别模糊,有种雾里看花水中望月的感觉。 最近,清华大学新闻与传播学院新媒体研究中心,推出了一篇DeepSeek的使用教程,从最基础的是…...
【PDF提取内容】如何批量提取PDF里面的文字内容,把内容到处表格或者批量给PDF文件改名,基于C++的实现方案和步骤
以下分别介绍基于 C 批量提取 PDF 里文字内容并导出到表格,以及批量给 PDF 文件改名的实现方案、步骤和应用场景。 批量提取 PDF 文字内容并导出到表格 应用场景 文档数据整理:在处理大量学术论文、报告等 PDF 文档时,需要提取其中的关键信…...
SSA-TCN麻雀算法优化时间卷积神经网络时间序列预测未来Matlab实现
SSA-TCN麻雀算法优化时间卷积神经网络时间序列预测未来Matlab实现 目录 SSA-TCN麻雀算法优化时间卷积神经网络时间序列预测未来Matlab实现预测效果基本介绍程序设计参考资料 预测效果 基本介绍 1.Matlab实现SSA-TCN麻雀算法优化时间卷积神经网络时间序列预测未来(优…...
大模型推理——MLA实现方案
1.整体流程 先上一张图来整体理解下MLA的计算过程 2.实现代码 import math import torch import torch.nn as nn# rms归一化 class RMSNorm(nn.Module):""""""def __init__(self, hidden_size, eps1e-6):super().__init__()self.weight nn.Pa…...
深度学习-神经机器翻译模型
以下为你介绍使用Python和深度学习框架Keras(基于TensorFlow后端)实现一个简单的神经机器翻译模型的详细步骤和代码示例,该示例主要处理英 - 法翻译任务。 1. 安装必要的库 首先,确保你已经安装了以下库: pip insta…...
Android Camera API 介绍
一 StreamConfigurationMap 1. StreamConfigurationMap 的作用 StreamConfigurationMap 是 Android Camera2 API 中的一个核心类,用于描述相机设备支持的输出流配置,包含以下信息: 支持的格式与分辨率:例如 YUV_420_888、JPEG、…...
大数据项目2:基于hadoop的电影推荐和分析系统设计和实现
前言 大数据项目源码资料说明: 大数据项目资料来自我多年工作中的开发积累与沉淀。 我分享的每个项目都有完整代码、数据、文档、效果图、部署文档及讲解视频。 可用于毕设、课设、学习、工作或者二次开发等,极大提升效率! 1、项目目标 本…...
Windows逆向工程入门之汇编环境搭建
公开视频 -> 链接点击跳转公开课程博客首页 -> 链接点击跳转博客主页 Visual Studio逆向工程配置 基础环境搭建 Visual Studio 官方下载地址安装配置选项(后期可随时通过VS调整) 使用C的桌面开发 拓展可选选项 MASM汇编框架 配置MASM汇编项目 创建新项目 选择空…...
gc buffer busy acquire导致的重大数据库性能故障
📢📢📢📣📣📣 作者:IT邦德 中国DBA联盟(ACDU)成员,10余年DBA工作经验 Oracle、PostgreSQL ACE CSDN博客专家及B站知名UP主,全网粉丝10万 擅长主流Oracle、MySQL、PG、高斯…...
前端学习-页面加载事件和页面滚动事件(三十二)
目录 前言 页面加载事件和页面滚动事件 页面加载事件 load事件 语法 注意 DOMContentLoaded事件 语法 总结 页面加载事件有哪两个?如何添加? load 事件 DOMContentLoaded事件 页面滚动事件 存在原因 scroll监听整个页面滚动 页面滚动事件-获取位置 scrollLef…...
C++:将函数参数定义为const T的意义
C++很多函数的参数都会定义为const T&,那么这么做的意义是什么呢? 避免拷贝:通过引用传递参数而不是值传递,可以避免对象的拷贝,从而提高性能,特别是当对象较大时。 保护数据:使用const关键字可以防止函数修改传入的参数,确保数据的安全性和一致性。 对于保护数据这…...
Formily 如何进行表单验证
🤍 前端开发工程师、技术日更博主、已过CET6 🍨 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 🕠 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 🍚 蓝桥云课签约作者、上架课程《Vue.js 和 E…...
安宝特方案 | AR眼镜:远程医疗的“时空折叠者”,如何为生命争夺每一分钟?
行业痛点:当“千里求医”遇上“资源鸿沟” 20世纪50年代,远程会诊的诞生曾让医疗界为之一振——患者不必跨越山河,专家无需舟车劳顿,一根电话线、一张传真纸便能架起问诊的桥梁。然而,传统远程医疗的局限也日益凸显&a…...
使用git commit时‘“node“‘ 不是内部或外部命令,也不是可运行的程序
第一种: 使用git commit -m "xxx"时会报错,我看网上的方法是在命令行后面添加--no-verify:git commit -m "主题更新" --no-verify,但是不可能每次都添加。 最后解决办法是:使用git config --lis…...
Python分享20个Excel自动化脚本
在数据处理和分析的过程中,Excel文件是我们日常工作中常见的格式。通过Python,我们可以实现对Excel文件的各种自动化操作,提高工作效率。 本文将分享20个实用的Excel自动化脚本,以帮助新手小白更轻松地掌握这些技能。 1. Excel单…...
nodejs - vue 视频切片上传,本地正常,线上环境导致磁盘爆满bug
nodejs 视频切片上传,本地正常,线上环境导致磁盘爆满bug 原因: 然后在每隔一分钟执行du -sh ls ,发现文件变得越来越大,即文件下的mp4文件越来越大 最后导致磁盘直接爆满 排查原因 1、尝试将m3u8文件夹下的所有视…...
瑞友天翼应用虚拟化系统 GetPwdPolicy SQL注入漏洞复现
免责声明 本文旨在提供有关特定漏洞的深入信息,帮助用户充分了解潜在的安全风险。发布此信息的目的在于提升网络安全意识和推动技术进步,未经授权访问系统、网络或应用程序,可能会导致法律责任或严重后果。因此,作者不对读者基于本文内容所采取的任何行为承担责任。读者在使…...
【MySQL — 数据库基础】深入解析MySQL的聚合查询
1. 聚合查询 1.1 聚合函数 函数说明COUNT ( [DISTINCT] expr)返回查询到的数据的数量( 行数 )SUM ( [DISTINCT] expr)返回查询到的数据的总和,不是数字没有意义AVG ( [DISTINCT] expr)返回查询到的数据的平均值,不是数字没有意义MAX( [DISTINCT] expr)…...
22.3、IIS安全分析与增强
目录 IIS安全威胁分析iis安全机制iis安全增强 IIS安全威胁分析 iis是微软公司的Web服务软件,主要提供网页服务,除此之外还可以提供其他服务,第一个最主要的是网页服务,第二个是SMTP邮件服务,第三个是FTP文件传输服务。…...
windows平台本地部署DeepSeek大模型+Open WebUI网页界面(可以离线使用)
环境准备: 确定部署方案请参考:DeepSeek-R1系列(1.5b/7b/8b/32b/70b/761b)大模型部署需要什么硬件条件-CSDN博客 根据本人电脑配置:windows11 + i9-13900HX+RTX4060+DDR5 5600 32G内存 确定部署方案:DeepSeek-R1:7b + Ollama + Open WebUI 1. 安装 Ollama Ollama 是一…...
港中文腾讯提出可穿戴3D资产生成方法BAG,可自动生成服装和配饰等3D资产如,并适应特定的人体模型。
今天给大家介绍一种名为BAG(Body-Aligned 3D Wearable Asset Generation)的新方法,可以自动生成可穿戴的3D资产,如服装和配饰,以适应特定的人体模型。BAG方法通过构建一个多视图图像扩散模型,生成与人体对齐…...
【人工智能】Python中的序列到序列(Seq2Seq)模型:实现机器翻译
《Python OpenCV从菜鸟到高手》带你进入图像处理与计算机视觉的大门! 解锁Python编程的无限可能:《奇妙的Python》带你漫游代码世界 序列到序列(Seq2Seq)模型是自然语言处理(NLP)中一项核心技术,广泛应用于机器翻译、语音识别、文本摘要等任务。本文深入探讨Seq2Seq模…...
