【Redis】的简介和安装配置(Linux和windows)及操作命令

目录

一、概述

1.介绍

2.特点

二、安配

1. 安装

2. 配置 

3. 主机连接

1.Linux连接

2.windows连接

三、命令

1. 字符串(String)

2. 哈希(Hash)

3. 列表(List)

4. 集合(Set)


一、概述

1.介绍

Redis是一个开源的、基于内存的高性能键值存储系统。它是由Salvatore Sanfilippo开发的,最初是用作LLOOGG(一个实时日志分析工具)的缓存数据库。随着时间的推移,Redis逐渐发展成为一个功能强大、广泛应用的数据存储和缓存解决方案。

Redis的核心特点是高性能和丰富的数据结构支持。它将数据存储在内存中,因此具有极快的读写速度。此外,Redis还采用了一系列优化策略,如异步IO、事件驱动等,以提高系统的吞吐量和响应速度。Redis还支持多种数据结构,包括字符串、哈希表、列表、集合、有序集合等,每种数据结构都有相应的操作命令,可以对其进行快速、高效的增删改查操作。

Redis提供了两种持久化方式:RDB和AOF。RDB是一种快照方式,可以将当前内存中的数据保存到磁盘上的一个二进制文件中。RDB文件是一个紧凑的、压缩的二进制格式,适合用于备份和恢复数据。AOF是一种追加日志方式,可以将每个写操作都追加到一个日志文件中。通过重新执行这些写操作,可以恢复出完整的数据集。AOF文件是一个文本文件,可以通过简单的文本编辑器查看和修改。

除了高性能和持久化支持,Redis还具备分布式特性。它支持主从复制、哨兵和集群等机制,可以将数据分布在多个节点上,提高系统的可扩展性和容错性。主从复制可以实现数据的读写分离和故障恢复,哨兵可以监控节点状态并进行自动故障转移,集群可以将数据分片存储在多个节点上,提供更高的性能和可用性。

Redis还提供了许多其他功能,如发布/订阅、事务、Lua脚本等。发布/订阅功能可以实现消息的发布和订阅,用于构建实时通信和事件驱动的系统。事务功能可以将多个命令组合成一个原子操作,保证操作的一致性。Lua脚本功能可以在Redis服务器端执行Lua脚本,提供更复杂的业务逻辑处理能力。

总之,Redis是一个功能强大、性能优越的键值存储系统,广泛应用于缓存、队列、计数器、排行榜等场景。它提供了丰富的数据结构和操作命令,具备高性能、持久化和分布式支持,为应用程序提供快速、可靠的数据访问服务。

2.特点

Redis的特点如下:

  1. 高性能:Redis将数据存储在内存中,因此具有极高的读写性能。它采用了多种优化策略,如异步IO、事件驱动等,来提高系统的吞吐量和响应速度。

  2. 数据持久化:Redis支持数据的持久化存储,可以将数据写入磁盘,以防止系统故障时的数据丢失。它提供了两种持久化方式:RDB(Redis Database)和AOF(Append Only File)。

    • RDB是一种快照方式,可以将当前内存中的数据保存到磁盘上的一个二进制文件中。RDB文件是一个紧凑的、压缩的二进制格式,适合用于备份和恢复数据。

    • AOF是一种追加日志方式,可以将每个写操作都追加到一个日志文件中。通过重新执行这些写操作,可以恢复出完整的数据集。AOF文件是一个文本文件,可以通过简单的文本编辑器查看和修改。

  3. 多种数据结构支持:Redis支持多种数据结构,包括字符串、哈希表、列表、集合、有序集合等。每种数据结构都有相应的操作命令,可以对其进行增删改查等操作。

    • 字符串是最基本的数据结构,可以存储任意类型的数据,如整数、浮点数、二进制数据等。

    • 哈希表是一个键值对的集合,可以用于存储对象。每个键值对都是一个字段和值的映射关系。

    • 列表是一个有序的字符串集合,可以进行插入、删除、查找等操作。它还支持各种列表操作,如获取子列表、插入元素、删除元素等。

    • 集合是一个无序的字符串集合,可以进行添加、删除、查找、求交集、求并集等操作。

    • 有序集合是一个有序的字符串集合,每个元素都有一个分数,可以根据分数进行排序和范围查找。

  4. 分布式支持:Redis支持分布式部署,可以将数据分布在多个节点上,提高系统的可扩展性和容错性。它提供了主从复制、哨兵和集群等机制,可以实现数据的高可用和自动故障转移。

总之,Redis是一个功能强大、性能优越的键值存储系统,可以广泛应用于缓存、队列、计数器、排行榜等场景,为应用程序提供快速、可靠的数据访问服务。

二、安配

1. 安装

打开虚拟机Linux的Centos,进行开机,并且使用MobaXterm进行连接。

进入我们的资源管理文件夹中 

输入命令 :   cd /root/javaCloudJun/software/

redis下载到本地为压缩包,并且将redis的资源包从本地拖入到虚拟机中

下载 redisicon-default.png?t=N7T8https://redis.io/download/输入命令 :  ll   ( 可以查看到 )

并且对redis资源包进行解压

输入命令 : tar -xvf redis-5.0.0.tar.gz

解压后可以查看到有了redis文件

进入到redis的文件里面

命令 : cd redis-5.0.0

进行安装redis

命令 : make

之后进行检测安装情况

命令 :  make install

检测完成后,修改redis.conf文件

将文件中 daemonize no 改为 daemonize yes  

输入命令 : vim redis.conf    ( 进入到redis.conf文件中 )

进入后 找到daemonize no  按  进入编辑模式  修改为  daemonize yes  

修改完成后 按 Esc  退出编辑 之后输入 :wq  ( 保存修改并且退出 )

操作如图 : 

修改完成后,启动redis

命令 :  ./src/redis-server  redis.conf 

启动redis后,进行检查

命令 :  lsof -i:6379   ( 有数据返回说明检查完成 )

测试redis启动是否成功 

命令 :  ./src/redis-cli   ( 连接到到端口 ) 

命令 :  ping    ( 输出PONG说明连接成功 )

2. 配置 

测试完成,退出redis,并且关闭redis的进程

命令 : exit  ( 退出连接 )

命令 : lsof -i:6379  ( 获取到PID )

命令 : kill -9 11833  ( 拿到该PID关闭该进程 )

并且再次查看,没有数据输出说明关闭成功。

修改 redis.conf 文件,需要对主机(主机的电脑)进行连接,就需要将绑定本机(虚拟机)的IP进行注释,并且设置连接的登入密码。
命令 :  vim redis.conf   ( 进入到redis.conf文件进行编辑 )

进入后输入 :   :/bind 127.0.0.1      ( 找到绑定的本地IP )

按 i  进行编辑  在bind 127.0.0.1的前面加一个进行注释

如图 :

注释IP后,按Esc退出 

并且输入 :    :/requirepass

在 按  i  进入编辑模式

requirepass前面的#删减掉

并且将后面的密码修改为自己的密码,我这里设置 123456

编辑完成后,按Esc退出

并且输入 :  :wq   ( 保存编辑并且退出 )

如图: 

主机(自己的电脑)需要连接,就需要开放端口,redis的端口为 : 6379

#设置防火墙开放 6379 端口

输入命令 :  firewall-cmd --zone=public --add-port=6379/tcp --permanent

#并且更新防火墙,查看开放端口

输入命令 : firewall-cmd --reload && firewall-cmd --list-port

端口开放后,重新启动redis

命令 :  ./src/redis-server  redis.conf

启动后,检查是否完成

命令 :  lsof -i:6379  ( 有数据返回说明完成 )

之后连接到端口,查看本机是否可以连接完成

命令 :  ./src/redis-cli  ( 连接到端口 )

命令 :  ping   ( error连接失败 )

退出端口,将我们的本地IP,端口号及设置的密码 (123456) 再进行连接。

命令 : exit ( 退出 )

命令 :  ./src/redis-cli  -h 127.0.0.1 -p 6379 -a 123456  

( 注 : -h 是IP  -p 是端口  -a 是密码 )

再次测试连接

命令 : ping ( 输出PONG说明连接成功 )

如图 : 

3. 主机连接

1.Linux连接

在主机中,打开数据库(RedisDesktopManager)进行连接Redis

RedisDesktopManager数据库的下载icon-default.png?t=N7T8https://docs.redisdesktop.com/en/2019/install/

( 下载后,可能需要解压,之后就是傻瓜式安装即可 )

然后打开RedisDesktopManager数据库

如图操作 :

2.windows连接

在本地从官网下载Redis-x64-3.2.100资源包进行解压,然后进入解压后的文件,

将redis.windows.conf文件进行修改,修改内容一样

bind 127.0.0.1的前面加一个进行注释

并且将后面的密码修改为自己的密码,我这里设置 123456

在创建一个文件,名为 : redis.bat

该文件内容为 : 

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

将该文件放入解压后的文件中,之后双击开启文件,会有个黑窗口,不用关掉

进入RedisDesktopManager数据库,进行windows连接

操作如图 : 

三、命令

连接后,会有16个数据库

在虚拟机中输入 :  select 3 ( 是进入为3的数据库 )  

1. 字符串(String)

增加值 //保存

set  key的名称   key的值

如以下命令 : 

# 查看值//获取

get key的名称

 如以下命令 : 

# type key //查看类型

type  key的名称

 如以下命令 : 

// 给键值对设置过期时间,数据过来该key和值自动删除

setex   key的名称  60 key的值

 如以下命令 : 

# ttl ikun    // 获取键值对剩余的存活时间

# ttl key的名称

 如以下命令 : 

 

2. 哈希(Hash)

Redis中哈希(Hash)是一种键值对的集合,其中每个键都对应一个值。哈希通常用于存储对象,其中对象的属性对应哈希的键,属性值对应哈希的值。以下是一些常用的Redis哈希命令:

1. HSET key field value :设置指定key中指定field的值为value。
2. HGET key field:获取指定key中指定field的值。
3. HDEL key field1 field2 ...   :删除指定key中指定的field。
4. HEXISTS key field : 检查指定key中是否存在指定的field。
5. HGETALL key : 获取指定key中所有的field-value对。
6. HINCRBY key field increment :将指定key中指定field的值增加指定的增量。
7. HKEYS key :获取指定key中所有的field。
8. HLEN key :获取指定key中field的数量。
9. HMGET key field1 field2 ... :获取指定key中指定的field的值。
10. HMSET key field1 value1 field2 value2 ... :同时设置指定key中多个field的值。
11. HSETNX key field value :当指定key中指定field不存在时,设置其值为value。
12. HVALS key :获取指定key中所有的value。

除了以上命令,Redis还提供了一些其他的哈希命令,如HINCRBYFLOAT、HSCAN等,用于处理浮点数增量操作、哈希扫描等操作。

需要注意的是,Redis的哈希是一个无序的键值对集合,其中键和值都可以是任意类型的数据。在使用哈希命令时需要注意数据的类型和格式。另外,Redis的哈希命令都是原子操作,保证了操作的一致性和并发性。

可以根据以上的命令结构进行输入命令,保存你需要的 哈希(Hash)值到数据库

3. 列表(List)

Redis中列表(List)是一个有序的字符串列表,其中每个元素都可以是任意类型的数据。以下是一些常用的Redis列表命令:

1. LPUSH key value1 value2 ...:将一个或多个值插入到列表的左侧。
2. RPUSH key value1 value2 ...:将一个或多个值插入到列表的右侧。
3. LPOP key:移除并返回列表的左侧第一个元素。
4. RPOP key:移除并返回列表的右侧第一个元素。
5. LINDEX key index:获取列表中指定索引位置的元素。
6. LINSERT key BEFORE|AFTER pivot value:在列表中指定元素的前面或后面插入一个新元素。
7. LLEN key:获取列表的长度。
8. LRANGE key start stop:获取列表中指定范围内的元素。
9. LREM key count value:从列表中删除指定数量的元素。
10. LSET key index value:设置列表中指定索引位置的元素的值。
11. LTRIM key start stop:截取列表中指定范围内的元素,保留指定范围内的元素,其余元素删除。

除了以上命令,Redis还提供了一些其他的列表命令,如BLPOP、BRPOP、LINSERT、RPOPLPUSH等,用于处理阻塞弹出、列表插入、列表弹出和列表移动等操作。

需要注意的是,Redis的列表是一个有序的字符串列表,其中元素可以是任意类型的数据。在使用列表命令时需要注意数据的类型和格式。另外,Redis的列表命令都是原子操作,保证了操作的一致性和并发性。

可以根据以上的命令结构进行输入命令,保存你需要的 列表(List)值到数据库 

4. 集合(Set)

Redis中集合(Set)是一个无序的、不重复的字符串集合,其中每个元素都可以是任意类型的数据。以下是一些常用的Redis集合命令:

1. SADD key member1 member2 ... :向集合中添加一个或多个元素。
2. SMEMBERS key:获取集合中的所有元素。
3. SISMEMBER key member:检查集合中是否存在指定的元素。
4. SCARD key:获取集合中元素的数量。
5. SREM key member1 member2 ...:从集合中移除一个或多个元素。
6. SPOP key:随机移除并返回集合中的一个元素。
7. SRANDMEMBER key [count]:随机获取集合中的一个或多个元素。
8. SINTER key1 key2 ...:获取多个集合的交集。
9. SUNION key1 key2 ...:获取多个集合的并集。
10. SDIFF key1 key2 ...:获取多个集合的差集。
11. SINTERSTORE destination key1 key2 ...:将多个集合的交集存储到一个新的集合中。
12. SUNIONSTORE destination key1 key2 ...:将多个集合的并集存储到一个新的集合中。
13. SDIFFSTORE destination key1 key2 ...:将多个集合的差集存储到一个新的集合中。

除了以上命令,Redis还提供了一些其他的集合命令,如SMOVE、SSCAN等,用于集合的移动和集合的扫描等操作。

需要注意的是,Redis的集合是一个无序的、不重复的字符串集合,其中元素可以是任意类型的数据。在使用集合命令时需要注意数据的类型和格式。另外,Redis的集合命令都是原子操作,保证了操作的一致性和并发性。

可以根据以上的命令结构进行输入命令,保存你需要的 集合(Set)值到数据库 

这里有更详细的教程,并且了解这些命令,可以进入到该网站深入学习,让增加变强

Redis 命令的详细深入学习了解icon-default.png?t=N7T8https://www.w3cschool.cn/redis/redis-commands.html

 

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

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

相关文章

零代码复现-TCGA联合GEO免疫基因结合代谢基因生信套路(二)

零代码复现-TCGA联合GEO免疫基因结合代谢基因生信套路(二)-关键基因集的获取和生存数据准备 前面的分析中,下载TCGA和GEO的数据,并进行简单的处理,接下来就是相关基因集的获取和整理,为后期聚类和降维做准…

【PyQt学习篇 · ⑥】:QWidget - 事件

文章目录 事件消息显示和关闭事件移动事件调整大小事件鼠标事件进入和离开事件鼠标按下和释放事件鼠标双击事件鼠标按下移动事件 键盘事件焦点事件拖拽事件绘制事件改变事件右键菜单输入法 事件转发机制案例一案例二案例三 事件消息 显示和关闭事件 showEvent(QShowEvent)方法…

小白如何制作电子画册?看这里,超多画册模板任你挑!

传统纸质版的画册,制作起来即费力又费时,花费还高,想要修改内容还得重新制作,特别麻烦。现在互联网发达,如今已经用上了H5的技术,小白也能快速制作一本翻页电子画册。 只需用FLBOOK,在线就可以制…

Linux的历史与环境

目录 Linux的背景介绍 Linux的时代背景-硅谷模式 计算机发展 UNIX发展历史 Linux诞生的偶然与必然 Linux开源 Linux发行版本 搭建Linux的环境 1.直接安装在物理机上 2.使用虚拟机软件 3.使用云服务器 (1)购买云服务器 (2&#x…

OceanBase:03-集群部署

目录 一、集群规划 二、配置要求 三、部署前配置 1.配置 limits.conf 2.配置 sysctl.conf 3.关闭防火墙 4.关闭 SELinux 5.创建数据目录,修改文件所有者信息 6.设置无密码 SSH 登录 7.安装jdk 四、解压执行安装 五、集群部署 1.OBD命令行部署 2. OBD白…

2019年408真题复盘

紫色标记是认为有一定的思维难度或重点总结 红色标记是这次刷真题做错的 记录自己对题目的一些想法与联系,可能并不太关注题目本身。 分数用时 选择部分 80/8036min大题部分41/7094min总分121130min 摘自知乎老哥:“我做历年真题时,绝大部分…

图数据库Neo4j——SpringBoot使用Neo4j 简单增删改查 复杂查询初步

前言 图形数据库是专门用于存储图形数据的数据库,它使用图形模型来存储数据,并且支持复杂的图形查询。常见的图形数据库有Neo4j、OrientDB等。 Neo4j是用Java实现的开源NoSQL图数据库,本篇博客介绍如何在SpringBoot中使用Neo4j图数据库&…

python连接clickhouse (CK)

Author: tkhywang 2810248865qq.com Date: 2023-11-01 11:28:58 LastEditors: tkhywang 2810248865qq.com LastEditTime: 2023-11-01 11:36:25 FilePath: \PythonProject02\Python读取clickhouse2 数据库数据.py Description: 这是默认设置,请设置customMade, 打开koroFileHead…

【Linux】:Linux开发工具之Linux编辑器vim的使用

🔫1.Linux编辑器-vim使用 📤 vi/vim的区别简单点来说,它们都是多模式编辑器,不同的是vim是vi的升级版本,它不仅兼容vi的所有指令,而且还有一些新的特性在里面。例如语法加亮,可视化操作不仅可以…

FPGA_Signal TapII 逻辑分析仪 在线信号波形抓取

FPGA_Signal TapII 逻辑分析仪 在线信号波形抓取 由于一些工程的仿真文件不易产生,所以我们可以利用 quartus 软件自带的 SignalTap 工具对波形进行抓取 对各个信号进行分析处理,让电子器件与FPGA进行正常通讯工作,也验证所绘制的波形图是否一…

【C++】类和对象(中)之拷贝构造与运算符、操作符重载

👀樊梓慕:个人主页 🎥个人专栏:《C语言》《数据结构》《蓝桥杯试题》《LeetCode刷题笔记》《实训项目》《C》 🌝每一个不曾起舞的日子,都是对生命的辜负 前言 我们继续学习默认成员函数,本篇文…

③ 软件工程CMM、CMMI模型【软考中级-软件设计师 考点】

个人简介:Java领域新星创作者;阿里云技术博主、星级博主、专家博主;正在Java学习的路上摸爬滚打,记录学习的过程~ 个人主页:.29.的博客 学习社区:进去逛一逛~ ③ 软件工程CMM、CMMI模型【软考中级-软件设计…

Android 数据恢复的顶级软件分享

人们经常向我们询问有关 Android 数据恢复软件的信息以及它们是否有用。而且,我们给他们讲了两个朋友的故事——凯伦和亚历克斯。他们都丢失了 Android 手机上的一些重要数据。 丢失数据确实是一个令人心碎的时刻,根据丢失的文件,可能会让您…

橙河网络:坏人是怎么形成的?

小A是一个非常热心的人,给谁帮忙,都免费。 大家都说,小 A,实在人呀,哈哈。 小B搬来了,他活多,弄不过来,常找小 A 来帮忙。 小A 每次来帮忙,小B 都给小A一张大团结(100…

oracle (8)Managing Tablespace Data File

目录 一、基础知识 1、表空间和数据文件 2、存储层次结构摘要 3、表空间的类型 4、表空间中的空间管理 5、临时表空间 6、Default Temporary TS 默认临时TS 二、常用实操 1、Creating Tablespaces创建表空间 2、Dictionary-Managed TS 字典管理的表空间 3、Locally …

【idea】生成banner.txt

Spring Boot banner在线生成工具,制作下载英文banner.txt,修改替换banner.txt文字实现自定义,个性化启动banner-bootschool.netSpring Boot banner工具实现在线生成banner,轻松修改替换实现自定义banner,让banner.txt文…

pix2tex - LaTeX OCR 安装使用记录

系列文章目录 文章目录 系列文章目录前言一、安装二、使用三、如果觉得内容不错,请点赞、收藏、关注 前言 项目地址:这儿 一、安装 版本要求 Python: 3.7 PyTorch: >1.7.1 安装:pip install "pix2tex[gui]" 注意&#xff1a…

会声会影2024对比2023变化以及功能对比

全新会声会影2024版本现已登场,小伙伴们相信已经急不可待地想知道2024版到底有哪些新功能。对比2023版本,会声会影2024版本有没有功能的增强?事不宜迟,现在就让我们一起来看看会声会影2024对比2023的变化,包括功能对比…

华为是怎么做全面预算管理的?

大家好,我是老原。 在之前的文章分享中,都穿插着一个很重要但是不被你们重视的的部分,就是预算管理这块。 有很多新手项目经理在做计划的时候,发现自己设备和步骤都不熟悉,根本无从下手,不知道怎么做。 …

XXL-JOB默认accessToken身份绕过RCE漏洞复现 [附POC]

文章目录 XXL-JOB默认accessToken身份绕过RCE漏洞复现 [附POC]0x01 前言0x02 漏洞描述0x03 影响版本0x04 漏洞环境0x05 漏洞复现1.访问漏洞环境2.构造POC3.复现 XXL-JOB默认accessToken身份绕过RCE漏洞复现 [附POC] 0x01 前言 免责声明:请勿利用文章内的相关技术从…