当前位置: 首页 > news >正文

【Redis】Redis安装教程基本操作语法

【Redis】Redis安装教程&基本操作语法

  • 一、Redis简介
    • 1.1.什么是Redis
    • 1.2.Redis与传统数据库的区别主要
  • 二、Linux安装Redis
    • 2.1.安装Redis
    • 2.2.解压安装包
    • 2.3.解压后执行安装gcc
    • 2.4.编译Redis
    • 2.5.修改Redis为守护进程
    • 2.6.启动Redis服务
    • 2.7.配置密码且外部连接
    • 2.8.重启服务器
    • 2.9.开放Redis端口号
    • 2.10.redismanagerl连接测试
  • 三、Windos安装Redis
    • 3.1.解压安装包
    • 3.2.编写bat启动文件
    • 3.3.双击bat文件
    • 3.4连接测试
    • 4.1.Redis字符串(String)
    • 4.2.Redis哈希(Hash)
    • 4.3.Redis列表(List)
    • 4.4.Redis集合(Set)

一、Redis简介

1.1.什么是Redis

Redis是一个开源的内存数据结构存储系统,它可以用作数据库、缓存和消息代理。它支持多种类型的数据结构,如字符串、哈希表、列表、集合和有序集合,并提供了丰富的操作命令来对这些数据进行读写操作。Redis具有高性能、高可用性和扩展性,并且它的数据存储在内存中,因此访问速度非常快。此外,Redis还提供了持久化机制,可以将数据存储到磁盘上,以防止数据丢失。由于其灵活性和易用性,Redis被广泛应用于各种场景,包括缓存加速、实时分析、排行榜、消息队列等。

1.2.Redis与传统数据库的区别主要

Redis与传统数据库的区别主要体现在以下几个方面:

数据存储方式:传统数据库通常将数据存储在硬盘上,而Redis将数据存储在内存中。这使得Redis具有更快的读写速度和响应时间,适用于需要高性能的场景。

数据模型:传统数据库一般采用关系型数据模型,使用表格来组织数据。而Redis使用键值对的方式存储数据,支持多种数据结构,如字符串、哈希表、列表、集合和有序集合等。这使得Redis更加灵活,可以根据不同的需求选择合适的数据结构进行存储。

持久化机制:传统数据库通常通过将数据写入磁盘实现持久化,以防止数据丢失。Redis也提供了持久化机制,但默认情况下是将数据存储在内存中。可以根据需求选择不同的持久化方式,如快照(snapshotting)和日志(append-only file),以确保数据的安全性和可恢复性。

扩展性:传统数据库在处理大规模数据和高并发访问时可能会遇到性能瓶颈。而Redis具有良好的可扩展性,可以通过搭建主从复制、集群等方式来实现水平扩展,从而满足高并发和大规模数据处理的需求。

总的来说,Redis相对于传统数据库具有更高的性能、更灵活的数据模型和更好的扩展性,适用于许多特定的应用场景,如缓存加速、实时计算、消息队列等。然而,由于Redis将数据存储在内存中,所以相对于传统数据库来说,它对内存的使用要求更高,且不适合作为主要的持久化数据存储解决方案。

二、Linux安装Redis

2.1.安装Redis

在这里插入图片描述

2.2.解压安装包

tar -zxvf redis-5.0.0.tar.gz -C /usr/local/
在这里插入图片描述

2.3.解压后执行安装gcc

yum install gcc

2.4.编译Redis

进入解压后的文件夹执行编译Redis,输入make && make install即可

make && make install

2.5.修改Redis为守护进程

1.什么是守护进程?
守护进程就是我们启动Redis之后还能输入命令,如果我们不设置守护进程你就会发行我们启动Redis之后无法输入其他的命令了,直接卡在Redis界面,这样是不符合我们的开发要求的。

修改redis.conf文件将daemonize no 改为 daemonize yes

这时我们如何使用快速定位语句,帮助我们快速定位呢?方法就是:
/你要定位的东西,例如这里我们将daemonize no 改为 daemonize yes,那小编输入/daemonize即可快速定位,修改之后保存退出。:wq

在这里插入图片描述

2.6.启动Redis服务

首先我们启动的时候一定注意自己的命令所在位置,我们要执行的是src下的./redis-server,但是我们后面要加上得redis.conf确实和src同级目录下的所以这里必须注意。

/src/redis-server redis.conf

我们设置了守护模式之后无法直观的知道我们是否启动redis,则通过查看是否能够连接本地客户端来验证:

./src/redis-cli

2.7.配置密码且外部连接

执行完第六步我们会发现我们连接Redis不要密码!且只能本地连接外部连接连接不上,所以我们需要继续配置。

修改redis.conf注文件中的内容:注释掉bind 127.0.0.1这行语句并修改requirepass 123456
在这里插入图片描述

在这里插入图片描述

2.8.重启服务器

首先kill -9 进程pid 关闭启动的进程ip

./src/redis-server redis.conf

2.9.开放Redis端口号

firewall-cmd --zone=public --add-port=6379/tcp --permanent

firewall-cmd --reload

2.10.redismanagerl连接测试

在这里插入图片描述

三、Windos安装Redis

3.1.解压安装包

在这里插入图片描述

3.2.编写bat启动文件

cd Redis-x64-3.2.100
redis-server redis.windows.con

3.3.双击bat文件

在这里插入图片描述

3.4连接测试

在这里插入图片描述

4.1.Redis字符串(String)

# set key          //保存
set name zs
set age 12
set sex nan# get key          //获取
get name# type key         //查看类型#type age            //string 说明type返回的是键值对存储类型,而不是值存储类型# keys *或keys key //查看所有或者指定的key
keys *# SETEX KEY_NAME TIMEOUT VALUE    // 给键值对设置过期时间
setex zs 60 live# ttl key    // 获取键值对剩余的存活时间
ttl zs

4.2.Redis哈希(Hash)

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

# hset key field1 value1 [field2 value2]  #同时将多个field-value设置到哈希表key中
hset user name zs age 12 sex nv# hget key field                          #获取指定的字段值
hget user age# hdel key field                          #删除指定的字段值
hdel user age# hgetall key                             #查询指定key的所有字段
hgetall user# hexists key field                       #查询指定key中的字段是否存在
hexists user name# hlen key                                #获取指定key中的长度
hlen user

4.3.Redis列表(List)

Redis列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边)

# lpush key value1 value2 value3          #将一个或多个值插入到列表头部
lpush en a b c d e f g# llen key                                #获取列表的长度
llen en# lindex key index                        #根据索引获取列表中的元素
lindex en 1     #返回f,说明下标从0开始,同时先进后出# lrange key start sop                    #查看指定范围内的元素
lrange en 1 3    #返回fed,说明下标从0开始,同时先进后出

4.4.Redis集合(Set)

Redis 的 Set 是 String 类型的无序集合。集合成员是唯一的,这就意味着集合中不能出现重复的数据。

# sadd key value1 [value2]                #向集合添加一个或多个元素
sadd hobby lanqiu zuqiu bingpangqiu zhuoqiu# scard key                               #获取集合中的元素数量
scard hobby# exists key                              #是否存在
exists hobby

相关文章:

【Redis】Redis安装教程基本操作语法

【Redis】Redis安装教程&基本操作语法 一、Redis简介1.1.什么是Redis1.2.Redis与传统数据库的区别主要 二、Linux安装Redis2.1.安装Redis2.2.解压安装包2.3.解压后执行安装gcc2.4.编译Redis2.5.修改Redis为守护进程2.6.启动Redis服务2.7.配置密码且外部连接2.8.重启服务器2…...

spring-boot-autoconfigure.jar/META-INF/spring.factories介绍

spring-boot-autoconfigure.jar/META-INF/spring.factories是Spring Boot自动配置的核心文件,它包含了各种自动配置类的注册信息。这个文件是Spring Boot根据应用程序的依赖关系和配置文件中的条件注解,自动加载和配置所需的Bean的依据。 在spring.fact…...

vue3视频大小适配浏览器窗口大小

目标:按浏览器窗口的大小,平铺视频,来适配屏幕的大小。 考虑使用 DPlayer.js、video.js、vue-video-player等视频插件,但报了各种各样的错;试过使用 js 对视频进行同比例放大,再判断其与窗口的大小取最小值…...

Nignx安装负载均衡动静分离以及Linux前端项目部署将域名映射到特定IP地址

目录 一、nginx简介 1.1 定义 1.2 背景 1.3 作用 二、nginx搭载负载均衡提供前后分离后台接口数据 2.1 nginx安装 2.1.1 下载依赖 2.1.2 下载并解压安装包 2.1.3 安装nginx 2.1.4 启动nginx服务 2.2 tomcat负载均衡 2.2.1 负载均衡所需服务器准备 2.2.2 配置修改 …...

Plist编辑软件 PlistEdit Pro mac中文版功能介绍

PlistEdit Pro mac是一款功能强大的Plist文件编辑软件。Plist文件是苹果公司开发的一种XML文件格式,用于存储应用程序的配置信息和数据。PlistEdit Pro可以帮助用户轻松地编辑和管理Plist文件。 PlistEdit Pro具有直观的用户界面和丰富的功能。用户可以使用该软件打…...

CSS3网页布局基础

CSS布局始于第2个版本,CSS 2.1把布局分为3种模型:常规流、浮动、绝对定位。CSS 3推出更多布局方案:多列布局、弹性盒、模板层、网格定位、网格层、浮动盒等。本章重点介绍CSS 2.1标准的3种布局模型,它们获得所有浏览器的全面、一致…...

【npm run dev 报错:error:0308010C:digital envelope routines::unsupported】

问题原因: nodejs版本太高(nodejs v17版本发布了openSSL3.0对短发和密钥大小增加了更为严格的限制,nodejs v17之前版本没有影响,但之后的版本会出现这个错误,物品的node版本是20.9.0) 解决方式&#xff1…...

Vue3.0 this,ref , $parent,$root组件通信 :VCA

1...

天猫商品评论API接口(评论内容|日期|买家昵称|追评内容|评论图片|评论视频..)

要获取天猫商品评论接口,您需要使用天猫开放平台提供的API接口。以下是一些可能有用的步骤: 注册并登录天猫开放平台,获取开发者账号。在开发者中心创建一个应用,获取应用的App Key和App Secret。使用天猫开放平台的API接口&…...

redis数据库简介

Redis是什么 Redis是现在最受欢迎的NoSQL数据库之一,Redis是一个使用ANSI C编写的开源、包含多种数据结构、支持网络、基于内存、可选持久性的键值对存储数据库,其具备如下特性: 基于内存运行,性能高效支持分布式,理…...

数据结构 - ArrayList - 动态修改的数组

目录 实现一个通用的顺序表 总结 包装类 装箱 / 装包 和 拆箱 / 拆包 ArrayList 与 顺序表 ArrayList基础功能演示 add 和 addAll ,添加元素功能 ArrayList的扩容机制 来看一下,下面的代码是否存在缺陷 模拟实现 ArrayList add 功能 add ind…...

python爬虫实战——今日头条新闻数据获取

大家早好、午好、晚好吖 ❤ ~欢迎光临本文章 如果有什么疑惑/资料需要的可以点击文章末尾名片领取源码 第三方库: requests >>> pip install requests 第三方模块安装: win R 输入cmd 输入安装命令 pip install 模块名 (如果你觉得安装速度比较慢, 你…...

ardupilot开发 --- gdb 篇

环境 win11 vscode 1.81.0 wsl2 ardupilot 利用gdb工具在vsCode中实现 Ardupilot SITL的断点调试 优点:可在vsCode中实现断点调试。 参考文献:https://ardupilot.org/dev/docs/debugging-with-gdb-using-vscode.html 安装gdb工具 打开wsl&#xff0…...

在Vue项目中定义全局变量

在Vue项目中我们需要使用许多的变量来维护数据的流向和状态,这些变量可以是本地变量、组件变量、父子组件变量等,但这些变量都是有局限性的。在一些场景中,可能需要在多个组件中共享某个变量,此时全局变量就派上了用场。 定义全局…...

.net 写了一个支持重试、熔断和超时策略的 HttpClient 实例池

public class HttpClientPool : IDisposable {private readonly ConcurrentQueue<HttpClient> _httpClientPool; // HttpClient 对象池private readonly SemaphoreSlim _semaphore; // 控制同时访问 HttpClient 对象池的线程数private readonly TimeSpan _timeout; // 获…...

大促期间如何监测竞品数据

无论在什么时候&#xff0c;竞品的数据都是品牌非常关注的&#xff0c;大促当然也不例外&#xff0c;所以准确监测到竞品数据应该如何分析也很关键&#xff0c;通过分析竞品&#xff0c;品牌可以获取非常多有价值的内容&#xff0c;如竞品王牌产品的分析、行业分析报告等。 力维…...

Linux yum 没有可用软件包 fping。 错误:无须任何处理 的解决办法

yum install fping -y 报错解决&#xff1a; [rootcpcs-node-d4n591 ~]# yum install fping -y 已加载插件&#xff1a;fastestmirror Determining fastest mirrors* base: mirrors.aliyun.com* extras: mirrors.aliyun.com* updates: mirrors.aliyun.com base …...

人工智能与脑机接口:开启人机融合的新时代

人工智能与脑机接口&#xff1a;开启人机融合的新时代 随着人工智能&#xff08;AI&#xff09;技术的飞速发展&#xff0c;我们正与一个全新的时代相遇——人工智能与脑机接口相融合的时代。这个时代将带来前所未有的变革&#xff0c;让人类与机器的交互方式发生根本性的改变。…...

【多线程面试题二十二】、 说说你对读写锁的了解

文章底部有个人公众号&#xff1a;热爱技术的小郑。主要分享开发知识、学习资料、毕业设计指导等。有兴趣的可以关注一下。为何分享&#xff1f; 踩过的坑没必要让别人在再踩&#xff0c;自己复盘也能加深记忆。利己利人、所谓双赢。 面试官&#xff1a;说说你对读写锁的了解 …...

Panda3d 相机控制

Panda3d 相机控制 文章目录 Panda3d 相机控制Panda3d中的透视镜头和垂直镜头透视镜头垂直镜头 Panda3d 中用代码控制相机的移动用键盘控制相机的移动用鼠标控制相机的移动 Panda3d 把相机也当做是一个 PandaNode&#xff0c;因此可以向操作其他节点对其进行操作。 真正的相机是…...

stm32G473的flash模式是单bank还是双bank?

今天突然有人stm32G473的flash模式是单bank还是双bank&#xff1f;由于时间太久&#xff0c;我真忘记了。搜搜发现&#xff0c;还真有人和我一样。见下面的链接&#xff1a;https://shequ.stmicroelectronics.cn/forum.php?modviewthread&tid644563 根据STM32G4系列参考手…...

简易版抽奖活动的设计技术方案

1.前言 本技术方案旨在设计一套完整且可靠的抽奖活动逻辑,确保抽奖活动能够公平、公正、公开地进行,同时满足高并发访问、数据安全存储与高效处理等需求,为用户提供流畅的抽奖体验,助力业务顺利开展。本方案将涵盖抽奖活动的整体架构设计、核心流程逻辑、关键功能实现以及…...

为什么需要建设工程项目管理?工程项目管理有哪些亮点功能?

在建筑行业&#xff0c;项目管理的重要性不言而喻。随着工程规模的扩大、技术复杂度的提升&#xff0c;传统的管理模式已经难以满足现代工程的需求。过去&#xff0c;许多企业依赖手工记录、口头沟通和分散的信息管理&#xff0c;导致效率低下、成本失控、风险频发。例如&#…...

unix/linux,sudo,其发展历程详细时间线、由来、历史背景

sudo 的诞生和演化,本身就是一部 Unix/Linux 系统管理哲学变迁的微缩史。来,让我们拨开时间的迷雾,一同探寻 sudo 那波澜壮阔(也颇为实用主义)的发展历程。 历史背景:su的时代与困境 ( 20 世纪 70 年代 - 80 年代初) 在 sudo 出现之前,Unix 系统管理员和需要特权操作的…...

让AI看见世界:MCP协议与服务器的工作原理

让AI看见世界&#xff1a;MCP协议与服务器的工作原理 MCP&#xff08;Model Context Protocol&#xff09;是一种创新的通信协议&#xff0c;旨在让大型语言模型能够安全、高效地与外部资源进行交互。在AI技术快速发展的今天&#xff0c;MCP正成为连接AI与现实世界的重要桥梁。…...

JUC笔记(上)-复习 涉及死锁 volatile synchronized CAS 原子操作

一、上下文切换 即使单核CPU也可以进行多线程执行代码&#xff0c;CPU会给每个线程分配CPU时间片来实现这个机制。时间片非常短&#xff0c;所以CPU会不断地切换线程执行&#xff0c;从而让我们感觉多个线程是同时执行的。时间片一般是十几毫秒(ms)。通过时间片分配算法执行。…...

ArcGIS Pro制作水平横向图例+多级标注

今天介绍下载ArcGIS Pro中如何设置水平横向图例。 之前我们介绍了ArcGIS的横向图例制作&#xff1a;ArcGIS横向、多列图例、顺序重排、符号居中、批量更改图例符号等等&#xff08;ArcGIS出图图例8大技巧&#xff09;&#xff0c;那这次我们看看ArcGIS Pro如何更加快捷的操作。…...

Linux 内存管理实战精讲:核心原理与面试常考点全解析

Linux 内存管理实战精讲&#xff1a;核心原理与面试常考点全解析 Linux 内核内存管理是系统设计中最复杂但也最核心的模块之一。它不仅支撑着虚拟内存机制、物理内存分配、进程隔离与资源复用&#xff0c;还直接决定系统运行的性能与稳定性。无论你是嵌入式开发者、内核调试工…...

C++课设:简易日历程序(支持传统节假日 + 二十四节气 + 个人纪念日管理)

名人说:路漫漫其修远兮,吾将上下而求索。—— 屈原《离骚》 创作者:Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder😊) 专栏介绍:《编程项目实战》 目录 一、为什么要开发一个日历程序?1. 深入理解时间算法2. 练习面向对象设计3. 学习数据结构应用二、核心算法深度解析…...

【MATLAB代码】基于最大相关熵准则(MCC)的三维鲁棒卡尔曼滤波算法(MCC-KF),附源代码|订阅专栏后可直接查看

文章所述的代码实现了基于最大相关熵准则(MCC)的三维鲁棒卡尔曼滤波算法(MCC-KF),针对传感器观测数据中存在的脉冲型异常噪声问题,通过非线性加权机制提升滤波器的抗干扰能力。代码通过对比传统KF与MCC-KF在含异常值场景下的表现,验证了后者在状态估计鲁棒性方面的显著优…...