Redis基础学习(五大值数据类型的常用操作命令)

目录

一、Redis基本知识与Redis键(key)常用操作命令。

二、Redis的五大值的数据类型。(value)

三、Redis关于键(key)的值常用操作指令表格统计。

(1)字符串(String)。

(2)列表。(List) 

(3)哈希表(Hash)

(4)集合。(Set)

(5)有序集合。(ZSet)


一、Redis基本知识与Redis键(key)常用操作命令。

  • redis的默认端口6379。mysql默认端口号3306。
  • 默认16个数据库,类似数组的下标从0开始,初始默认使用0号库。可以使用select index来切换数据库,如:select 1,表示切换到第2个库。
  • 统一密码管理,所有的库密码相同。

  • Redis键(key)的相关操作命令。

二、Redis的五大值的数据类型。(value)

  • redis字符串。(String)
  • redis列表。(List)
  • redis集合。(Set)
  • redis哈希表。(Hash)
  • redis有序集合(Zset)

三、Redis关于键(key)的值常用操作指令表格统计。

(1)字符串(String)。
  • Redis值(字符串)常用命令的表格统计。
命令基本介绍
set key value添加键值对。若键存在,会覆盖原值。(简单设置字符串值)
get key获取键对应值。
setnx key valuekey不存在时,才会设置对应的key与value。
append key value原有键的值后追加值。。
strlen key获取字符串值的长度。
mset k1 v1 k2 v2 ...同时设置多个key-value。
msetnx k1 v1 k2 v2 ...原子性:当所有的key就不存在值时,则设置成功。
mget k1 k2...同时获取多个key对应的value。
getrange key start end获取值的范围。与Java的substring很像,提取指定范围的字符串。
setrange key start value覆盖指定起始位置的值。
setex key 过期时间 value设置键与过期时间与值。
getset key value设置新值同时返回旧值。
  • Redis值(字符串)关于数字值的递增、递减命令的表格统计。
命令基本介绍
incr key指定key的数字值的递增。如果key不存在,默认为1。
decr key指定key的数字值的递减。如果key不存在,默认为-1。
incrby key +value对指定key递增指定数值。如果key不存在,则在0基础上+递增的值。
decrby key -value对指定的key递减指定数值。如果key不存在,则在0基础上-递增的值。
(2)列表。(List) 
  • Redis列表是简单的字符串列表。底层实际上是使用双向链表实现的。
  • Redis值(列表)常用命令的表格统计。
命令基本介绍
lpush k1 v1 k2 v2 ...从左边插入一个或多个值
rpush k1 v1 k2 v2 ...从右边插入一个或多个值
lrange key start stop查询指定列表key的指定区间的元素。
正数下标:0第一个元素,负数下标:-1倒数1个元素,-2倒数第2个
lprop key count
从左边弹出多个元素,count可以省略,默认值为1
rprop key count从右边弹出多个元素,count可以省略,默认值为1
rproplpush
source destination
从一个列表右边弹出一个元素并放到另外一个列表中
lindex key index查询指定索引位置的元素(从左到右)
llen key获取指定列表的长度
linsert key before|after
value newvalue
将值newvalue插入到列表key当中,位于值value之前或之后。
value不存在列表中时,不执行任何操作
lrem key count value
根据参数count的值,移除列表中与参数value相等的元素
若count>0,从表头开始搜索,移除与value相等的元素,数量为count
若count<0,从表尾开始搜索,移除与value相等的元素,数量为count绝对值
若count=0,移除表中所有与 value 相等的值。
lset key index value
将列表key的下标索引为index的元素的值设置为value。
(3)哈希表(Hash)
  • Redis hash是一个键值对集合。
  • Redis hash是一个string类型的fieldvalue的映射表,hash特别适合用于存储对象。 类似于java里面的Map<String,Object>。
  • Hash类型对应的数据结构是ziplist(压缩列表),hashtable(哈希表)。
    field-value长度较短个数较少时,使用ziplist,否则使用hashtable

命令基本介绍
hset key field value
[field1 value1 field2 value2 ...]

设置单个或多个field及value。

将哈希表key中的域field的值设为value 。
hget key field获取(查询)指定field的值value。
hgetall key返回指定hash表的所有域field以及值value。
hexists key field
判断给定的域field是否存在。1:存在,0:不存在
hkeys key
返回指定hash表的所有的域filed
hvals key
返回指定hash表的所有的值value
hlen key返回指定hash表的域filed数量
hincrby key field increment
给指定hash表的指定域filed的值加上指定的增量。
增量也可以为负数,相当于对给指定域filed的值value进行减法操作。
如果域filed对应的值value不是integer会错误提示。
hsetnx key field value
将哈希表key中的域field的值设置为value ,当且仅当域field不存在!
(4)集合。(Set)
  • Redis Set与List类似,是一个列表的功能,特殊之处在于Set是可以自动排重的!当需要存储一个列表数据,又不希望出现重复数据时,Set是一个很好的选择。
  • Redis的Set是String类型的无序集合,他的底层实际是一个value为null的Hash表,添加,删除,查找复杂度都是O(1)。

命令基本介绍
sadd key value1 value2 ...添加一个或多个元素。(会自动去重)
smembers key取出(查询)所有元素
sismember key value
判断集合key中是否包含元素value。其中1:有,0:没有
scard key返回集合中元素的个数
srem key member
[member1 member2 ...]
移除(删除)集合key中的一个或多个member元素。
若不存在的member元素会被忽略执行。
spop key [count]

随机弹出count个元素。count默认为1。

被弹出的元素会被删除,返回弹出元素值

srandmember key [count]随机获取count个元素。count默认为1。
不会删除集合中的元素。
smove source destination membermember元素从集合source移除,并添加到destination 集合中。
若destination 集合中已有该元素,只进行source移除操作。
sinter key [key1 key2 ...]
取多个集合的交集
sinterstore
将多个集合的交集放到一个新的集合中
sunion key [key1 key2 ...]
取多个集合的并集,且自动去重
sunionstore
将多个集合的并集放到一个新的集合中
sdiff key [key1 key2 ...]
取多个集合的差集。
返回一个集合的全部成员,该集合是所有给定集合之间的差集
(5)有序集合。(ZSet)
  • redis有序集合zset与普通集合set非常相似,是一个没有重复元素的字符串集合。
  • 不同之处:有序集合的每个成员都关联了一个评分(score),这个评分(score)被用来按照从最低分 到最高分的方式排序集合中的成员。
  • 集合的成员是唯一的,但是评分是可以重复的。

  • 因为元素是有序的,所以你可以很快的根据评分(score)或者次序(position)来获取一个范围的元素。
  • 访问有序集合中的中间元素也是非常快的,因为你能够使用有序集合作为一个没有重复成员你的智能列表。

命令基本介绍
zadd key
<score1> <member1>
<score2> <member2> ...
1、将一个或多个member元素及其score值加入到有序集 key 当中。
2、如果某个member已经是有序集的成员,那么更新这个member的score值,并重新插入这个member元素,来保证该member在正确的位置上。
3、score 值可以是整数值或双精度浮点数。
zrange key start top [withscores]

1、返回存储在有序集合key中的指定范围的元素。 返回的元素可以认为是按score从最低到最高排列,如果得分相同,将按字典排序。
2、下标参数start和stop都以0为底,则以0表示有序集第一个成员,以1表示有序集第二个成员。

3、zrange key 0 -1:可以获取所有元素。

4、withscores:让member成员和它的 score 值一并返回

zrevrange key
start stop [withscores]
score降序,获取指定索引范围的元素。
可以使用负数下标,以-1表示最后一个成员, -2表示倒数第二个成员。
zrangebyscore key min max [withscores] [limit offset count]
1、返回有序集 key 中,所有score值介于min和max之间(包括等于min或max)的成员。有序集成员按score值递增(从小到大)次序排列。
2、可选的limit参数指定返回结果的数量及区间。
zrevrangebyscore
按照score降序,返回指定score范围内的数据。
zincrby key increment member
为有序集key的成员member的score值加上增量 increment 。
可以通过传递一个负数值increment ,让score减去相应的值。
zrem key member
[member1 member2 ...]
移除有序集key中的一个或多个成员,不存在的成员将被忽略。
zremrangebyrank key start stop
根据索引范围删除元素。
zremrangebyscore key min max
移除有序集key中,所有score值介于min和max之间(包括等于 min或max)的成员。
zcount key min max
返回有序集key中, score值在min和 max之间(默认包括 score值等于min或max)的成员的数量。
zrank key member
1、返回有序集key中成员member的排名。其中有序集成员按score值递增(从小到大)顺序排列。
2、排名以 0 为底,也就是说, score 值最小的成员排名为 0 。
zrevrank key member
1、返回有序集key中成员member的排名。其中有序集成员按 score 值递减(从大到小)排序。
2、排名以0为底,也就是说, score值最大的成员排名为 0 。
zscore key member
返回有序集key中,成员member的score值。

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

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

相关文章

Ubuntu——办公软件 LibreOffice 安装与使用指南

十四、LibreOffice 安装与使用1、核心组件组件​​​​图标​​​​对应MS Office​​​​核心功能定位​​​​Writer​​&#x1f4dd;Word专业文档处理与排版​​Calc​​&#x1f4ca;Excel数据计算与分析​​Impress​​&#x1f3ac;PowerPoint演示文稿制作​​Draw​​&…

Securecrt丢失tab以及终端重新配色

今天在使用 Securecrt 的时候&#xff0c;发现 Securecrt 的 tab 标签消失不见了&#xff0c;仔细回想起来&#xff0c;应该是上一次误按了 alt enter 最大化&#xff0c;然后导致配置丢失的问题 还有表现就是菜单中的 Session Tabs 无论勾选还是不勾选都没有任何变化&#xf…

frp搭建内网穿透教程

frp搭建内网穿透教程 步骤1&#xff1a;准备工作 公网服务器&#xff1a;需要一台具有公网IP的服务器作为中转服务器&#xff0c;安装frp服务器端&#xff08;frps&#xff09;。内网设备&#xff1a;需要暴露服务的内网设备&#xff0c;安装frp客户端&#xff08;frpc&#xf…

【JavaEE进阶】图书管理系统(未完待续)

目录 用户登录 添加图书 图书列表 修改图书 删除图书 批量删除 拦截器 &#x1f343;前言 什么是拦截器? 拦截器的基本使用 自定义拦截器 注册配置拦截器 拦截路径 拦截器执行流程 项目实现统一拦截 定义拦截器 注册配置拦截器 前⾯图书管理系统, 咱们只完成了⽤⼾登录和图书列…

基于同花顺API的熊市与牛市识别模型开发及因子分析

基于同花顺API的熊市与牛市识别模型开发及因子分析 1. 引言 1.1 研究背景与意义 金融市场中的牛市与熊市识别一直是投资者和研究人员关注的重点问题。牛市(Bull Market)通常指价格持续上涨的市场环境,投资者信心充足,交易活跃;而熊市(Bear Market)则指价格持续下跌的市场…

AMD 锐龙 AI MAX+ 395 处理器与端侧 AI 部署的行业实践

2025 年 7 月 10 日&#xff0c;AMD 在深圳召开 Mini AI 工作站行业解决方案峰会&#xff0c;正式发布基于锐龙 AI MAX 395 处理器的端侧 AI 部署方案&#xff0c;与 200 余家生态伙伴共同探讨 AI 技术在千行百业的落地路径。这一硬件平台通过异构计算架构与开放生态设计&#…

期权盘位是什么意思?

本文主要介绍期权盘位是什么意思&#xff1f;“期权盘位”并非金融交易中的标准术语&#xff0c;可能是口语化表达或对某些概念的简化描述。期权盘位是什么意思&#xff1f;1. 期权盘口的“价位”&#xff08;买卖报价位置&#xff09;在期权交易中&#xff0c;“盘口”通常指实…

【Trea】Trea国内版|国际版|海外版下载|Mac版|Windows版|Linux下载配置教程

【Trea】Trea国内版&#xff5c;国际版&#xff5c;海外版下载&#xff5c;Mac版&#xff5c;Windows版下载配置教程 本文适用读者&#xff1a; 想要第一次安装 Trea需要在 Windows 或 macOS 上完成环境配置想深入了解 Doubao、DeepSeek、ChatGPT、Claude 等模型在 Trea 中的接…

MyBatis实现分页查询-苍穹外卖笔记

首先分页查询的原理是SQL的limit关键字。LIMIT 子句用于限制 SQL 查询返回的记录数。它接受一个或两个整数参数&#xff0c;第一个参数表示偏移量&#xff0c;第二个参数表示返回的最大记录数。我们完全可以使用前端传给我们的page,pageSize,自己去计算limit的参数&#xff0c;…

系统性能评估方法深度解析:从经典到现代

评估本质&#xff1a;系统性能评估是通过量化分析衡量计算机系统在特定工作负载下的表现能力&#xff0c;核心目标是建立可比较的性能基准&#xff0c;为系统设计、选型和优化提供科学依据。一、评估方法分类体系 #mermaid-svg-0ceD4AA2KDwzwtb6 {font-family:"trebuchet …

WebSocket实现多人实时在线聊天

最近公司在做一个婚恋app&#xff0c;需要增加一个功能&#xff0c;实现多人实时在线聊天。基于WebSocket在Springboot中的使用&#xff0c;前端使用vue开发。 一&#xff1a;后端 1. 引入 websocket 的 maven 依赖 <dependency><groupId>org.springframework.bo…

学习笔记随记-FPGA/硬件加速

一、FPGA&#xff1a;Field Programmable Gate Array 现场可编程门阵列 可编程输入/输出单元、基本可编程逻辑单元、嵌入式块RAM、丰富的布线资源、底层嵌入功能单元和内嵌专用硬核。 可编程输入/输出单元&#xff08;I/O&#xff09;单元 输入/输出&#xff08;Input/Ouput&…

docker宿主机修改ip后起不来问题解决

确保容器已经连接到了正确的网络。如果没有&#xff0c;你可以使用以下命令将容器连接到网络&#xff1a; 1、停止docker网络 ifconfig docker0 down1. 停止 Docker 服务 sudo systemctl stop docker2. 删除 docker0 接口 sudo ip link delete docker03、删除旧的网桥 docker n…

G1 垃圾回收算法详解

目录 简介 G1 GC 的设计目标 内存结构 回收过程 初始标记&#xff08;Initial Mark&#xff09;并发标记&#xff08;Concurrent Mark&#xff09;最终标记&#xff08;Final Mark / Remark&#xff09;筛选回收&#xff08;Cleanup / Evacuation&#xff09; 混合回收&…

JavaEE多线程——锁策略 CAS synchronized优化

目录前言1.锁策略1.1 乐观锁和悲观锁1.2 重量级锁和轻量级锁1.3 挂起等待锁和自旋锁1.4 公平锁和非公平锁1.5 可重入锁和不可重入锁1.6 读写锁2.CAS2.1 CAS的应用2.2 CAS的ABA问题3.synchronized优化3.1锁升级3.2锁消除3.3锁粗化总结前言 本篇文章主要介绍多线程中锁策略、CAS…

Windows符号链接解决vscode和pycharm占用C盘空间太大的问题

Windows符号链接解决vscode和pycharm占用C盘空间太大的问题 参考文章&#xff1a;Windows符号链接 1、找到vscode和pycharm在C盘的缓存文件夹。 C:\Users\用户名\AppData\Roaming\Code C:\Users\用户名\.vscode\extensionsC:\Users\用户名\AppData\Local\JetBrains C:\Users…

赋能家庭、行业与工业场景,智微智能新一代Twin Lake 全栈智能终端发布

在数字化浪潮席卷全球的今天&#xff0c;智能终端已成为连接物理世界与数字世界的核心枢纽。智微智能基于Intel Twin Lake平台&#xff0c;推出覆盖家庭/行业应用及工业物联网的全场景产品矩阵&#xff0c;为不同场景下的用户提供高效、可靠的产品和解决方案。Intel Twin Lake架…

复习笔记 31

前言 好好复习。今天距离考研初试还剩一百六十一天。我的时间其实没剩多少了呀。我得好好加油。 归并排序 #include<algorithm> #include<iostream>using namespace std;const int N 100010; int n; int a[N], tmp[N];void merge ( int a[], int l, int r ) {if (…

el-tree 懒加载 loadNode

el-tree 是 Element UI 提供的树形组件&#xff0c;其懒加载功能通过 loadNode 方法实现&#xff0c;可以在用户展开节点时动态加载子节点数据&#xff0c;避免一次性加载大量数据。下面介绍 loadNode 的具体用法和示例。基本用法loadNode 是 el-tree 的一个重要属性&#xff0…

【机器学习入门巨详细】(研0版)二创OPEN MLSYS

自学机器学习&#xff0c;从入门到精通导论机器学习的基本框架设计目标机器学习框架基本组成原理机器学习生态机器学习工作流环境配置数据处理模型定义损失函数和优化器训练及保存模型测试及验证模型定义深度神经网络以层为核心定义神经网络神经网络层实现原理自定义神经网络层…