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

news2024/11/15 21:36:47

目录

一、概述

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.coloradmin.cn/o/1164009.html

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

相关文章

EViews| 基础操作 备战下周机考

目录 一、创建工作文件 1、非时间序列数据 2、时间序列数据 二、导入数据 1、导入数据 2、保存数据组合或方程结果 三、估计回归模型 1、估计回归模型 2、回归结果名词解读 四、检验模型设定错误 1、检验是否遗漏变量 2-1、检验是否加入了不相干变量 2-2、惩罚新增…

2023年最新版潮乎盲盒源码含搭建教程

后台开发语言:后端 Laravel 框架开发 前端开发框架:uniappvue 环境配置: php7.4 mysql5.6 nginx1.22 redis(建议宝塔面板或 lnmp) 源码获取请自行百度:一生相随博客 一生相随博客致力于分享全网优质资源&#x…

大数据与健康:技术助力医疗卫生事业腾飞

大数据与健康:技术助力医疗卫生事业腾飞 随着科技的飞速发展,大数据技术已经渗透到我们生活的方方面面,包括医疗卫生领域。本文将对大数据在健康医疗领域的应用进行分析,并通过数据图表展示其发展趋势和前景。 一、背景介绍 近…

IPv4首部格式

IPv4首部格式 IPv4数据报的首部格式及其内容是实现IPv4协议各种功能的基础。 在TCPIP标准中,各种数据格式常常以32比特(即4字节)为单位来描述。 IPv4首部格式图 ## IPv4数据报的组成 主要由固定部分(20字节)可变部分(最大40字节) - 固定部分是指每个IPv4数据报都必…

Jmeter调用测试片段 —— 模块控制器

可以使用模块控制器调用测试片段。模块控制器提供了一种在运行时将测试片段替换为当前测试计划的机制。测试片段可以位于任何线程组中。 1、打开一个Jmeter窗口,添加好线程组、用户定义变量、模块控制器、测试片段、察看结果树。 2、用户定义变量同样定义好访问ip及…

ETHERNET/IP转RS485/RS232自由协议网关连接AB系统的简单配置方法

想将ETHERNET/IP网络和RS485/RS232总线连接起来吗?来看这款通讯网关! 捷米特JM-EIP-RS485/232是一款通讯网关,它具有将ETHERNET/IP网络和RS485/RS232总线连接起来的功能。作为ETHERNET/IP网络的从站,它可以连接AB、欧姆龙等品牌的…

游戏反Xposed框架解决方案

在游戏安全对抗过程中,除了常见的内存修改、加速、破解等作弊手段,还有一类危害严重的外挂——「注入挂」。 据FairGuard游戏安全数据统计,在游戏面临的众多安全风险中,注入挂的占比高达17% 。如此高的占比,可见注入挂…

软件测试工程师必须掌握的Linux常用命令

📢专注于分享软件测试干货内容,欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!📢交流讨论:欢迎加入我们一起学习!📢资源分享:耗时200小时精选的「软件测试」资…

msvcp120.dll下载修复详细方法与解决方法

MSVCP120.dll文件丢失是一个常见的问题,它通常会导致某些程序无法正常运行。这个问题可能是由于多种原因引起的,例如系统更新、软件卸载或病毒感染等。在这篇文章中,我将为您提供四种解决MSVCP120.dll文件丢失的方法,帮助您快速恢…

【Redis】入门篇--安装以及常用命令

🥳🥳Welcome Huihuis Code World ! !🥳🥳 接下来看看由辉辉所写的关于Redis的相关操作吧 目录 🥳🥳Welcome Huihuis Code World ! !🥳🥳 一.Redis是什么 二. Redis有什么优势 三…

一秒文件搜索神器—Everything,结合内网穿透成为在线搜索神器!

Everythingcpolar搭建在线资料库,实现随时随地访问 文章目录 Everythingcpolar搭建在线资料库,实现随时随地访问前言1.软件安装完成后,打开Everything2.登录cpolar官网 设置空白数据隧道3.将空白数据隧道与本地Everything软件结合起来总结 前…

快速灵敏的 Flink1

一、flink单机安装 1、解压 tar -zxvf ./flink-1.13.2-bin-scala_2.12.tgz -C /opt/soft/ 2、改名字 mv ./flink-1.13.2/ ./flink1132 3、profile配置 #FLINK export FLINK_HOME/opt/soft/flink1132 export PATH$FLINK_HOME/bin:$PATH 4、查看版本 flink --version 5、…

[GitLab] 安装Git 指定版本

卸载旧版本 检查是否已经安装 git --version如果已经安装,先卸载 yum -y remove git安装新版本 在GitHub上选择需要下载的版本 Git版本 在/usr/local/目录下新建文件夹:git,并在/usr/local/git/文件夹内下载压缩包 wget https://github…

llava1.5模型安装、预测、训练详细教程

引言 本博客介绍LLava1.5多模态大模型的安装教程、训练教程、预测教程,也会涉及到hugging face使用与wandb使用。 源码链接:点击这里 demo链接:点击这里 论文链接:点击这里 一、系统环境 ubuntu 20.04 gpu: 2*3090 cuda:11.6 二、LLava环境安装 1、代码下载…

数据库的增删查改(一)

Mysql的基本操作 一. 新增1.单行数据全列插入 2.多行数据指定列插入二.查询1.全列查询2.指定列查询3.查询字段为表达式4.别名5.去重6.排序7.条件查询 一. 新增 1.单行数据全列插入 表示在SQL语句中一行一行插入. 2.多行数据指定列插入 二.查询 1.全列查询 全列查询就是将val…

linux查看文件夹使用情况以及查看文件大小

1、ls ls 命令是 Linux 中最常用的文件和目录列表命令之一。它可以显示文件的各种属性&#xff0c;包括文件大小。 ls -l <文件名>上述命令会显示文件的详细信息&#xff0c;其中包括文件的大小。文件大小以字节为单位显示&#xff0c;并且在输出中的第 5 列。4096 表示…

JavaScript基础之BOM与DOM

文章目录 BOM操作window对象window的子对象之navigator对象&#xff08;了解即可&#xff09;window的子对象之screen对象&#xff08;了解即可&#xff09;window的子对象之history对象&#xff08;了解即可&#xff09;window的子对象之location对象 弹出框警告框确认框提示框…

【MySQL】MVCC机制(undo log,read view)

文章目录 前言一. 预备知识二. 模拟MVCC三. Read View四. RC与RR的本质区别结束语 前言 MVCC&#xff08;多版本并发控制&#xff09;是一种用来解决读-写冲突的无锁并发控制 MVCC为事务分配单向增长的事务ID&#xff0c;为每个修改保存一个版本&#xff0c;版本与事物ID相关联…

043-第三代软件开发-第三方串口库使用

第三代软件开发-第三方串口库使用 文章目录 第三代软件开发-第三方串口库使用项目介绍第三方串口库使用示例代码 关键字&#xff1a; Qt、 Qml、 QextSerialPort、 QThread、 高频 项目介绍 欢迎来到我们的 QML & C 项目&#xff01;这个项目结合了 QML&#xff08;Qt…

Websocket传输协议是什么

WebSocket 是一种网络通信协议&#xff0c;属于 HTML5 规范的一部分。它提供了在单个长期连接上进行全双工通信的能力&#xff0c;使得数据可以从客户端发送到服务器&#xff0c;也可以从服务器发送到客户端&#xff0c;这与传统的 HTTP 请求和响应模型不同。 WebSocket 协议定…