Redis入门及Redis基本数据类型的相关命令

news2024/11/17 23:43:11

1.1、Redis简介

Redis is an open source (BSD licensed), in-memory data structure store, used as a database, cache, and message broker,翻译为: Redis是一个开源的内存中的数据结构存储系统,它可以用作∶数据库、缓存和消息中间件。官网: https://redis.io

Redis是用C语言开发的一个开源的高性能键值对(key-value)数据库,官方提供的数据是可以达到100000+的QPS(每秒内查询次数)。它存储的value类型比较丰富,也被称为结构化的NoSql数据库。

NoSql (Not Only sQL),不仅仅是SQL,泛指非关系型数据库。NoSql数据库并不是要取代关系型数据库,而是关系型数据库的补充。

关系型数据库(RDBMS)

  • MySql
  • Oracle
  • DB2
  • SQLServer

非关系型数据库(NoSql)

  • Redis
  • Mongo db
  • MemCached

Redis应用场景

  • 缓存
  • 任务队列
  • 消息队列
  • 分布式锁

1.2、Redis下载与安装

Redis安装包分为windows版和Linux版:

windows版下载地址: https://github.com/microsoftarchive/redis/releases

Linux版下载地址: https://download.redis.io/releases/

二、数据类型

Redis存储的是key-value结构的数据,其中key是字符串类型,value有5种常用的数据类型:

  • 字符串 string
  • 哈希hash
  • 列表list
  • 集合set
  • 有序集合sorted set

三、常用命令

3.1、字符串String操作命令

Redis 中字符串类型常用命令:

  • SET key value 设置指定key的值
  • GET key 获取指定key的值
  • SETEx key seconds value 设置指定key的值,并将key的过期时间设为seconds秒
  • SETNX key value 只有在key不存在时设置key的值

更多命令可以参考Redis中文网:https: //www.redis.net.cn

3.2、哈希hash操作命令

Redis hash是一个string类型的 field和value的映射表,hash特别适合用于存储对象,常用命令:

  • HSET key field value 将哈希表key中的字段field的值设为value
  • HGET key field 获取存储在哈希表中指定字段的值
  • HDEL key field 删除存储在哈希表中的指定字段
  • HKEYs key 获取哈希表中所有字段
  • HVALS key 获取哈希表中所有值
  • HGETALL key 获取在哈希表中指定key 的所有字段和值

3.3、列表list操作命令

Redis列表是简单的字符串列表,按照插入顺序排序,常用命令:

  • LPUSH key value1 [value2] 将一个或多个值插入到列表头部
  • LRANGE key start stop 获取列表指定范围内的元素
  • RPOP key 移除并获取列表最后一个元素
  • LLEN key 获取列表长度
  • BRPOP key1 [key2 ] timeout 移出并获取列表的最后一个元素,如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止

3.4、集合set操作命令

Redis set是string类型的无序集合。集合成员是唯一的,这就意味着集合中不能出现重复的数据,常用命令;

  • SADD key member1 [member2] 向集合添加一个或多个成员
  • SMEMBERS key 返回集合中的所有成员
  • SCARD key 获取集合的成员数
  • SINTER key1 [key2] 返回给定所有集合的交集
  • SNION key1 [key2] 返回所有给定集合的并集
  • SDIFF key1 [key2] 返回给定所有集合的差集
  • SREM key member1 [member2] 移除集合中一个或多个成员

3.5、有序集合sorted set操作命令

Redis sorted set有序集合是string类型元素的集合,且不允许重复的成员。每个元素都会关联一个double类型的分数(score)。redis正是通过分数来为集合中的成员进行从小到大排序。有序集合的成员是唯一的,但分数却可以重复。常用命令:

  • .ZADD key score1 member1 [score2 member2] 向有序集合添加一个或多个成员,或者更新已存在成员的分数
  • ZRANGE key start stop [WITHSCORES] 通过索引区间返回有序集合中指定区间内的成员
  • zINCRBY key increment member 有序集合中对指定成员的分数加上增量increment
  • ZREM key member [member …] 移除有序集合中的一个或多个成员

3.6、通用命令

  • KEYS pattern 查找所有符合给定模式( pattern)的key
  • EXISTS key 检查给定key是否存在
  • TYPE key 返回key所储存的值的类型
  • TTL key 返回给定key的剩余生存时间(TTL, time to live),以秒为单位
  • DEL key 该命令用于在key存在是删除 key

四、Windows使用Redis命令行客户端

目前Redis是支持本机上操作命令行的,在我们日常编写demo的时候可以为方便直接使用本机上的Redis,github上下载解压即可。
在这里插入图片描述
然后打开文件夹中的redis-server.exe(服务器端)和redis-cli.exe(客户端)即可
在这里插入图片描述
即可在redis-cli.exe中输入相应指令进行操作。例如keys * 展示所有缓存
在这里插入图片描述

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

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

相关文章

2023,AIGC能赚到钱吗?

2022年,AIGC(生成式AI)是当之无愧的网红。AI作画在各大社交平台刷屏,ChatGPT火爆国内外出尽了风头,依靠AI生成语音和表情、动作的数字人也频频露脸。2022年12月,Science杂志发布了2022年度科学十大突破&…

vue-element-template模板

vue-element-template模板 vue-element-admin是一个非常全面的系统,提供了很多现成的方案,我们可以在写项目的时候过来参考,但是也有缺点:不太好进行二次开发,因为要删减的东西太多了。于是就有另外一个子系统vue-elem…

Linux 安装nginx, 搭建nginx文件服务器

在linux安装nginx web 服务器,安装后再修改配置文件,将该主机作为一个文件服务器,最终效果如下图: 安装nginx 安装依赖包 yum install -y gcc pcre-devel zlib-devel openssl openssl-devel (若安装的Redhat7&…

JVM数据结构一览及分析

JVM总体一张图: 整体上来看:类文件从类加载子系统,加载完成之后,主要存放在方法区(JRockit和H9没有方法区,这里指的是HotSpot)。运行时的数据主要是存放在运行时数据区,代码的解释编…

✿✿✿JavaScript --- 常见样式案例

目录 1.下拉框复选框单选框的事件样式 和 禁止喜欢中文字与鼠标右键 2.点击按钮后样式发生变化 3.表格追随鼠标更换颜色 4.点击更换背景 5.点击不同的选择栏,内容展示在一个板块内 6.排他思想,许多按钮,点击谁谁就有样式 7.按钮全选反…

微机原理接口

目录 接口的基本概念 什么是接口?(背会) 接口电路的功能?(背会2019年 ) 接口电路基本结构 什么是端口 (背) 接口的控制原理 数据的传送方式(知道并行串行的特点就可以) 并行传…

校园二手交易WEB

开发工具(eclipse/idea/vscode等): 数据库(sqlite/mysql/sqlserver等): 功能模块(请用文字描述,至少200字): 方达影院系统总共分两个模块,用户模块和管理员模块, 用户模块:登录和注册功能&#…

【Pytorch_Geometric】(GCN)基本使用:数据集与邻接矩阵格式,图形(点)的可视化展示

声明:仅学习使用~ 目录 过程记录1、Graph Neural Networks2、数据集描述3、edge_index3、模型定义与训练方法4、输出特征展示5、训练模型(半监督,semi-supervised)过程记录 1、Graph Neural Networks 致力于解决不规则数据结构(图像和文本相对格式都固定,但是社交网络与…

陪诊系统app开发,一个应用可切换不同身份

随着人口老龄化,年轻人工作压力大,经常加班,或在外地定居,出差等原因,没时间陪长辈。对于一些有慢性疾病的困扰,需要长期陪伴而延伸出来的一个新型行业-陪诊。陪诊职业出现就被人认可是因为人们对这个职业有…

什么是多模态深度学习?有哪些应用场景?

深度多模态学习能够更全面地理解数据,在准确性和效率上均有大幅提升。但首先,什么是多模态深度学习?它有哪些应用场景?本文将从定义、应用与前景三个角度来回答这两个问题。随着深度神经网络的发展,深度学习也逐渐向多…

基于事件触发的二阶多智能体领导跟随一致性

【无限嚣张(菜菜)】:hello您好,我是菜菜,很高兴您能来访我的博客,我是一名爱好编程学习研究的菜菜,每天分享自己的学习,想法,博客来源与自己的学习项目以及编程中遇到问题…

基于java+springboot的人事招聘信息网站-计算机毕业设计

运行环境 开发语言:Java 框架:springboot JDK版本:JDK1.8 服务器:tomcat7 数据库:mysql 数据库工具:Navicat11 开发软件:eclipse/myeclipse/idea Maven包:Maven 项目介绍 在这个计算…

教你一招,解决头疼的DCOM配置问题

一、背景 OPC通信技术是工业通信领域中一套广为流行的方案,能够帮助大量的使用不同通信协议的下层现场设备数据与上位机应用程序进行交互。实现OPC通信需要基于Winodows上的COM/DCOM技术,只有在服务器和客户端都进行DCOM配置,开放相应的权限…

【矩阵论】6. 范数理论——非负/正矩阵

6.5 非负/正矩阵 6.5.1 定义 a. 非负/正矩阵定义 一个实矩阵 A(aij)∈RmnA(a_{ij})\in R^{m\times n}A(aij​)∈Rmn 若对每一 iii 和 jjj ,aij≥0a_{ij}\ge 0aij​≥0 ,则称A是非负矩阵,A≥0A\ge 0A≥0 若对每一 iii 和 jjj ,…

论文浅尝 | Relational schema optimization for RDF-based KGs

笔记整理:郑国鹏,天津大学硕士链接: https://www.sciencedirect.com/science/article/pii/S0306437921000223动机特征集(CS)根据与其主题节点相关的属性集来组织RDF三元组。它可以捕捉到RDF数据的隐含模式。虽然大多数基于CS的方法…

3、面向对象

文章目录3、面向对象3.1 介绍3.1.1 基本语法3.1.2 案例分析3.2 类和对象3.2.1 类3.2.1 对象3.3 属性3.4 方法3.5 方法参数3.6 传值方式3.7 静态3.8 静态代码块3.9 包3.10 import3.11 构造方法3.12 继承3.13 super、this3.14 继承、构造方法3.15 多态3.16 方法重载3.17 方法重载…

获奖 | APT检测能力再获认可,创宇猎幽荣获“金帽子”年度优秀安全产品奖

近日,2022网络安全金帽子年度评选活动揭晓,创宇猎幽APT流量监测系统获年度优秀安全产品奖。“金帽子”评选推动行业发展创宇猎幽获年度优秀安全产品奖“金帽子”年度评选活动旨在推动网络安全行业的健康发展,让更多的普通大众真正了解和认识网…

【技术应用】java接口幂等性实现方案

【技术应用】java接口幂等性实现方案一、前言二、幂等性三、幂等设计思路四、实现代码五、总结一、前言 最近在做一个线上的项目,与之前内网项目还是有很多差别的,尤其在安全性和并发性的处理上,要多做一些措施,第一步就是接口的…

Java HashSet

HashSet 基于 HashMap 来实现的,是一个不允许有重复元素的集合。 HashSet 允许有 null 值。 HashSet 是无序的,即不会记录插入的顺序。 HashSet 不是线程安全的, 如果多个线程尝试同时修改 HashSet,则最终结果是不确定的。 您必…

流量与技术双重加持,小游戏迎来高速增长周期

2017 年 12 月 28 日,微信小游戏正式上线。“跳一跳”刷爆了微信朋友圈,随后欢乐斗地主、坦克大战、纪念碑谷、拳皇等经典游戏纷纷出现在小游戏平台上。在过去的5年间,各大平台纷纷紧跟微信的步伐,纷纷入局小游戏,当前…