Redis的介绍与使用

文章目录

  • Redis简介
  • 安装Redis
  • Redis常用命令
    • 全局命令
    • String类型数据
    • Hash哈希类型数据
    • List列表类型数据
    • Set集合类型数据
    • SortedSet有序集合类型数据
  • 一些选择题
  • 一些选择题

Redis简介

  • Redis是一款基于键值对的NoSQL数据库,它的值支持多种数据结构: 字符串(strings)、哈希(hashes)、列表(lists)、集合(sets)、有序集合(sorted sets)等。

NoSql数据库:not only sql,除关系型数据库之外的所有非关系型数据库

  • Redis将所有的数据都存放在内存中,所以它的读写性能十分惊人。 同时,Redis还可以将内存中的数据以快照或日志的形式保存到硬盘上,以保证数据的安全性。

  • 快照形式:即RDB形式,直接将内存中数据原原本本传硬盘上

    • 优点:数据体积小,恢复数据到内存很快

    • 缺点:将内存数据一下子存到硬盘上很耗时,存储时可能造成阻塞,对其他业务有影响

    • 不适合实时去做,适合几个小时做一次数据备份

  • 日志形式:AOF形式,每执行一个redis命令,就以日志的形式存储一次

    • 优点:实时、快速

    • 缺点:以追加的形式存储,体积大占空间。恢复速度慢(恢复时会将硬盘中命令全部跑一次)

  • Redis典型的应用场景包括:

    • 缓存:频繁访问的数据,从内存上取比硬盘上快

    • 排行榜:如热门帖子等,访问是很频繁的,进行缓存效率高

    • 计数器:每访问一次帖子浏览量加一,数据存硬盘效率太低

    • 社交网络:点赞关注等。放内存更快访问;且关系型数据库里不方便存(就一个数据还要建一张表),以键值对形式存到内存中

    • 消息队列:不是专门做消息队列的工具,项目对消息队列要求不是特别高时,可以用redis

    • … …

安装Redis

https://redis.io/ :下载Linux系统的redis安装包,查询redis的数据命令等

https://github.com/microsoftarchive/redis :微软做的windows系统的redis安装包

.msi 安装程序 . zip 压缩包

安装时,仅需改存储路径

将redis的安装路径设置为系统变量

Redis常用命令

官网:https://redis.io/

全局命令

cmd中启动redis: redis-cli

image-20240220155834716

redis内置16个库,无名字,用0-15的数字索引进行区分

切换库: select 库索引

**刷新当前库:**flushdb 刷新后清除库中数据

image-20240220160318638

**查询当前库里的key:**keys * 所有key

​ keys test* 以test开头的key

image-20240220171008973

**查看key的值类型:**type key

image-20240220171126217

**查看key是否存在(1真0假):**exists key [key …]

**删除key:**del key [key …]

image-20240220171328921

**设置key过期时间:**expire key seconds

seconds为过期秒数,过了这个秒数,会自动删除key

image-20240220171602678

String类型数据

**key命名规则:**多个单词之间用 “ : ” 分隔,如 test:count

添加数据: set key名 value值

**获取数据:**get key名 value值

image-20240220160631638

**数据自增1:**incr key

数据自减1: decr key

image-20240220160803157

Hash哈希类型数据

redis中数据以key-value形式存储,因此hash类型数据,key名相当于hash表名,fields相当于表中键值对的键名

**存数据:**hset key名 fields value

**取数据:**gset key名 fields

image-20240220162033913

List列表类型数据

很灵活,若看作横向容器,支持从左边()往里装/取数据,也支持从右边往里装/取数据。

  • 左进右出:栈
  • 左进左出:队列

命令中,l 代表left,r 代表right

从左边存数据:lpush key值 value [value…]

越先放入索引越大,越后放入索引越小

如按101,102,103的顺序朝list中放数据,则list中数据从左到右为 103,102,101,索引从左到右为0,1,2

**查看list长度:**llen key

**查看list中指定索引下的值:**lindex key index

image-20240220163408214

**查看某个索引范围内的值:**lrange key start stop

​ 0表示第一个数据,-1表示最后一个数据

image-20240220164342458

**从右边取数据:**rpop key

image-20240220164705602

Set集合类型数据

列表有序,数据可重复

集合无序,数据不可重复

**存数据:**sadd key member [member…]

s代表set

**查看集合中元素个数:**scard key

从集合中随机的弹出一个元素:spop key [count]

**该命令可用于抽奖:**set中存放不同用户的id,每个id只有一个,每次随机弹出一个id作为中奖用户

image-20240220165329220

**查看集合中元素:**smember key

image-20240220165646919

SortedSet有序集合类型数据

给每一个存的值,附加一个分数,按分数排序

**存数据:**zadd key score member [score member …]

**查看集合中元素个数:**zcard key

**查询元素对应的分数:**zscore key member

**查询元素排名(默认由小到大):**zrank key member

**取某个排名范围内的数据:**zrange key start stop

image-20240220170637353

一些选择题

4.2【瑞客论 坛 www.ruike1.com】

B

4.3【瑞客论 坛 www.ruike1.com】

C

4.4【瑞客论 坛 www.ruike1.com】

A
rt stop

[外链图片转存中…(img-0CQye3dU-1709434100818)]

一些选择题

[外链图片转存中…(img-SqV0qa5c-1709434100819)]

B

[外链图片转存中…(img-iWVOX7MR-1709434100819)]

C

[外链图片转存中…(img-rTkfsOqd-1709434100820)]

A

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

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

相关文章

数据结构之散列表

一、散列表的概念 散列表(Hash Table)又名哈希表/Hash表,是根据键(Key)直接访问在内存存储位置值(Value)的数据结构,它是由数组演化而来的,利用了数组支持按照下标进行随机访问数据的特性。 二…

MATLAB环境下基于频率滑动广义互相关的信号时延估计方法

时间延迟是声信号处理中的主要参数,要想确定信源距离、方位、速度等信息,就要能够精确、快速地估计时延及其他参数。所以,在信号处理领域中时延估计长期W以来都是的非常活跃的研究课题,在声纳、雷达、生物医学、通信、…

VS Code 的粘性滚动预览 - 类似于 Excel 的冻结首行

VS Code 的粘性滚动预览 - 类似于 Excel 的冻结首行功能,即滚动 UI 显示当前源代码范围。便于在代码行数比较多的时候更好的知道自己所在的位置。粘性滚动UI 显示用户在滚动期间所处的范围,将显示编辑器顶部所在的类/接口/命名空间/函数/方法/构造函数&a…

UE4 Niagara 关卡1.4官方案例解析

sprites can face the camera,or they can face any arbitrary vector,in this case the vector between the center of the system and the particle itself(粒子可以面对摄影机,也可以面对任意向量,在这个实例中的向…

激活函数(Activate Fuction)

注意:本文引用自专业人工智能社区Venus AI 更多AI知识请参考原站 ([www.aideeplearning.cn]) 激活函数的定义与作用 激活函数是深度学习、人工神经网络中一个十分重要的学习内容,对于人工神经网络模型去学习、理解非常复杂和非…

【数据结构与算法】常见排序算法(Sorting Algorithm)

文章目录 相关概念1. 冒泡排序(Bubble Sort)2. 直接插入排序(Insertion Sort)3. 希尔排序(Shell Sort)4. 直接选择排序(Selection Sort)5. 堆排序(Heap Sort)…

06 OpenCV增加图像的对比度

文章目录 理论API代码 理论 图像变换可以看作如下&#xff1a; 像素变换 – 点操作邻域操作 – 区域 调整图像亮度和对比度属于像素变换-点操作 API saturate_cast(value)确保值大小范围为0~255之间Mat.at(y,x)[index]value 给每个像素点每个通道赋值 代码 #include <…

Sqli-labs靶场第18关详解[Sqli-labs-less-18]自动化注入-SQLmap工具注入

Sqli-labs-Less-18 通过测试发现&#xff0c;在登录界面没有注入点&#xff0c;通过已知账号密码admin&#xff0c;admin进行登录发现&#xff1a; 返回了User Agent&#xff0c;设想如果在User Agent尝试加上注入语句&#xff08;报错注入&#xff09;&#xff0c;测试是否会…

one4all 排坑记录

one4all 排坑记录 任务踩坑回顾动作踩坑动作踩坑动作新一步测试Habitat-sim 测试habitat-lab继续ONE4ALL 任务 看了《One-4-All: Neural Potential Fields for Embodied Navigation》这篇论文&#xff0c;感觉挺有意思&#xff0c;他也开源了代码。视觉语言导航是我一直想做的…

重学SpringBoot3-自动配置机制

重学SpringBoot3-自动配置机制 引言Spring Boot 自动配置原理示例&#xff1a;Spring Boot Web 自动配置深入理解总结相关阅读 引言 Spring Boot 的自动配置是其最强大的特性之一&#xff0c;它允许开发者通过最少的配置实现应用程序的快速开发和部署。这一切都得益于 Spring …

JCL中IEFBR14和COND

JCL中IEFBR14和COND ​ COND CODE&#xff0c;就是反映JCL中STEP运行状态的参数&#xff0c;JCL正常终了的COND CODE 是0000&#xff0c;另外笔者在执行某些工具JCL时候&#xff0c;比方说简单一个COMPARE吧&#xff0c;可能会出现0012、0004或者0016&#xff0c;0001&#xf…

linux安全--DNS欺骗,钓鱼网站搭建

目录 一&#xff0c;实验准备 首先让client能上网 1&#xff09;实现全网互通&#xff0c;实现全网互通过程请看 2&#xff09;SNAT源地址转换 3&#xff09;部署DHCP服务 4)配置DHCP服务 5&#xff09;启动服务 6&#xff09;安装DNS服务 7&#xff09;DNS配置 8)启动DNS…

代码随想录第46天|● 121. 买卖股票的最佳时机 ● 122.买卖股票的最佳时机II

文章目录 ● 121. 买卖股票的最佳时机思路一&#xff1a;贪心&#xff08;效率最快&#xff09;代码&#xff1a; 思路二&#xff1a;动态规划-dp数组代码&#xff1a; 思路三&#xff1a;动态规划 常数储存代码&#xff1a; ● 122.买卖股票的最佳时机II思路一&#xff1a;动态…

rocky使用yum安装msyql8.0

先查看一下源是否有mysql和mysql的版本 yum list mysql* 直接yum install mysql-server 会安装相关7个包 安装完毕后systemctl start mysqld启动mysql 然后mysql_secure_installation配置权限 mysql8的配置稍微有点不一样&#xff0c;按照英文提示来就行&#xff0c;不会的…

华为配置攻击检测功能示例

配置攻击检测功能示例 组网图形 图1 配置攻击检测功能示例组网图 业务需求组网需求数据规划配置思路配置注意事项操作步骤配置文件 业务需求 企业用户通过WLAN接入网络&#xff0c;以满足移动办公的最基本需求。且在覆盖区域内移动发生漫游时&#xff0c;不影响用户的业务使用。…

Mysql实战(1)之环境安装

1&#xff0c;进入&#xff1a;MySQL :: MySQL Downloads 2&#xff0c; 3&#xff0c; 4&#xff0c;

STM32用标准库编写按键控制LED灯的proteus仿真

首先打开proteus仿真软件&#xff0c;绘制电路图&#xff1a; 或是下载我已经建立好的工程修改&#xff1a; 链接&#xff1a;https://pan.baidu.com/s/1Nx5p3Tif6eHBIVkcPfsj9w?pwd1234 提取码&#xff1a;1234 第一步复制整个工程文件夹&#xff0c;就不用重新配置的辛苦…

解决虚拟机启动报错:“End kernel panic - not syncing: attempted to kill the idle task”

原本能正常运行的虚拟机&#xff0c;很长一段时间没用后&#xff0c;今天再次启动&#xff0c;然后就出现下面的问题&#xff1a; 然后走了一些弯路&#xff0c;比如说删除该虚拟机然后新建一个虚拟机&#xff08;问题未解决&#xff09;、直接删除VitualBox重新安装&#xff0…

【SQL】1321. 餐馆营业额变化增长(自连接;窗口函数rows between 、range between)

前述 窗口函数相关知识推荐阅读&#xff1a; 通俗易懂的学会&#xff1a;SQL窗口函数 窗口函数rows between 、range between的使用 MySQL中的DATEDIFF()函数 mysql data类型的加减 常用函数&#xff1a; ROUND() 函数&#xff1a;用于将数值四舍五入到指定的小数位数。FLOO…