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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Microsoft Word xml 字符非法解决

如图,word能正常打开,复制内容到另外一个word时候出错,显示: Microsoft Word很抱歉,无法打开文档,因为内容有问题。确定详细信息(D)详细信息xml 字符非法。位置:行:3,列:2439 解决…

现代神经网络QA(LeNet/AlexNet/VGG/NiN/GooleNet/ResNet)-----一篇搞懂

现代神经网络Q&A-----一篇搞懂 LeNet核心架构 经典卷积神经网络的包括: 带填充以保持分辨率的卷积层;非线性激活函数,如ReLU;汇聚层,如最大汇聚层。 pooling时,使用avg还是max? max&…

数据结构与算法(test2)

五、串 1. 串是由___零___个或___多____个字符组成的有限序列, 又称为___字符串________。 一般记为 S“a1a2.....an” (n > 0), 串中的字符数目n称为串的__长度_____,零个字符的串称为___空串_____. 定义中谈到的"有限"是指长度 n 是一个有限的数值…

Matplotlib基础01( 基本绘图函数/多图布局/图形嵌套/绘图属性)

Matplotlib基础 Matplotlib是一个用于绘制静态、动态和交互式图表的Python库,广泛应用于数据可视化领域。它是Python中最常用的绘图库之一,提供了多种功能,可以生成高质量的图表。 Matplotlib是数据分析、机器学习等领域数据可视化的重要工…

六种负载均衡算法

六种负载均衡算法对比:原理、优缺点及适用场景 负载均衡是分布式系统的核心技术之一,通过合理分配请求流量,确保服务器资源高效利用,提升系统的可用性和响应速度。不同的负载均衡算法适用于不同的场景,以下是六种常见…

公司配置内网穿透方法笔记

一、目的 公司内部有局域网,局域网上有ftp服务器,有windows桌面服务器; 在内网环境下,是可以访问ftp服务器以及用远程桌面登录windows桌面服务器的; 现在想居家办公时,也能访问到公司内网的ftp服务器和win…

Citespace之关键词爆发检测分析(进阶分析)

在开始citespace进行关键词爆发检测分析之前,如果不会使用citespace的,可以参考我之前这一篇博客: https://blog.csdn.net/m0_56184997/article/details/145536095?spm1001.2014.3001.5501 一、创建工程后进行设置 在创建好工程后&#xf…

【文献讲解】《Non-local Neural Networks》

一、引言 传统的深度学习方法(如卷积神经网络CNN和循环神经网络RNN)在捕捉长距离依赖关系时存在局限性。CNN主要关注局部邻域的特征,而RNN则依赖于序列的递归计算,无法直接捕捉全局信息。为了解决这一问题,本文提出了一种非局部神经网络(Non-local Neural Networks),通…

基于 Spring Cloud + Spring AI + VUE 的知识助理平台介绍以及问题

前言(一些废话) 在看这篇文章的各位大佬,感谢你们留出几分钟时间,来看这个产品介绍,其实重点说实话,不是这个产品怎么样。而是在最后有一个郁结在心里的几个问题,希望大佬们能给出一些建议。万…

IDEA安装离线插件(目前提供了MavenHelper安装包)

目录 1、离线安装方式2、Maven Helper 1、离线安装方式 首先访问 IDEA插件网站 下载离线插件安装包,操作如下: 然后打开IDEA的Settings配置,点击Plugins,点击右侧设置按钮(齿轮),选择Install P…

JVM的性能优化

1.方法内联 方法内联,是指 JVM在运行时将调用次数达到一定阈值的方法调用替换为方法体本身 ,从而消除调用成本,并为接下来进一步的代码性能优化提供基础,是JVM的一个重要优化手段之一。 注: C++的inline属于编译后内联,但是java是运行时内联 简单通俗的讲就是把方法内部调…

蓝桥杯小白打卡第四天

1221. 四平方和 问题描述 四平方和定理,又称为拉格朗日定理:每个正整数都可以表示为至多 4 个正整数的平方和。如果把 0 包括进去,就正好可以表示为 4 个数的平方和。 例如: (5 0^2 0^2 1^2 2^2)(7 1^2 1^2 1^2 2^2) …

【kafka系列】Topic 与 Partition

Kafka 的 Topic(主题) 和 Partition(分区) 是数据组织的核心概念,它们的映射关系及在 Broker 上的分布直接影响 Kafka 的性能、扩展性和容错能力。以下是详细解析: 一、Topic 与 Partition 的映射关系 Top…

哈佛大学“零点项目”(Project Zero)简介

哈佛大学“零点项目”(Project Zero)简介 起源与背景 “零点项目”(Project Zero)由美国哲学家纳尔逊古德曼(Nelson Goodman)于1967年在哈佛大学教育研究院创立。名称源于“从零开始研究艺术教育”的理念&…

【Java基础】为什么不支持多重继承?方法重载和方法重写之间区别、Exception 和 Error 区别?

Hi~!这里是奋斗的明志,很荣幸您能阅读我的文章,诚请评论指点,欢迎欢迎 ~~ 🌱🌱个人主页:奋斗的明志 🌱🌱所属专栏:Java基础面经 📚本系列文章为个…

rebase和merge

rebase 和merge区别: rebase变基,改变基底:rebase会抹去提交记录。 git pull 默认merge,git pull --rebase 变基 rebase C、D提交属于feature分支,是基于master分支,在B提交额外拉出来的,当…

科研工作中如何高效利用LabVIEW

LabVIEW作为图形化编程语言,在科研领域广泛应用于数据采集、自动控制、信号处理等任务。如何充分发挥其优势,提高实验效率和数据可靠性,是科研工作者需要重点关注的问题。本文从软件架构、硬件选型、数据处理、调试优化等方面详细探讨LabVIEW…

MybatisPlus整合druid多数据源

1.引入依赖&#xff1a; <dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.2.0</version> </dependency><dependency><groupId>com.baomidou</gro…

实验6 客户端和服务器之间IPsec VPN配置

实验6 客户端和服务器之间IPsec VPN配置 1.实验目的 通过在两台计算机间或客户端与服务器之间配置IPsec VPN连接&#xff0c;掌握IPsec VPN配置方法&#xff0c;加深对IPsec协议的理解。 2.实验内容 &#xff08;1&#xff09;在Windows Server系统中配置VPN服务器。 &#xf…

VirtualBox中Ubuntu 22.04网卡配置以及解决过程中遇到的问题

1.添加网卡(仅主机) 2.启动虚拟机&#xff0c;查看新添加网卡信息 #查看网卡 ip addr # 查看网络信息&#xff0c;发现新网卡(enp0s8)未分配 ifconfig -a3.使用netplan进行网络配置 3.1 配置 DHCP获取IP # 进入netplan 文件夹 cd /etc/netplan #查看文件夹下yaml ls -al # 编…