Redis-Linux中安装Redis、命令操作Redis

news2025/8/6 6:21:43

目录

一、Redis简介

 NoSQL与SQL的区别

 二、Linux上安装redis

上传并解压redis.gz

进入 redis的解压目录,执行命令 make

​编辑

修改redis为守护进程

们测试一下能否远程连接RedisDesktopManager客户端

 开放6379端口

 授权,允许远程连接

三、redis命令 

Redis字符串(String)

 Redis哈希(Hash)

Redis列表(List)

Redis集合(Set)


一、Redis简介

Redis是一个开源(BSD许可),内存存储的数据结构服务器,可用作数据库,高速缓存和消息队列代理。

它支持 字符串(String)、哈希表(hash)、列表(list)、集合(set)、有序集合(zset-- sort set),位图,hyperloglogs等数据类型。内置复制、Lua脚本、LRU收回、事务以及不同级别磁盘持久化功能,同时通过Redis Sentinel提供高可用,通过Redis Cluster提供自动分区

Redis用途:1. 数据库 2. 缓存

作用:提升程序运行的效率与性能

集群:哨兵、主从、分片式

#下载
redis-5.0.0.tar.gz(linux)
Redis-x64-3.2.100.msi(window安装版)
Redis-x64-3.2.100.zip(window解压版)

 NoSQL与SQL的区别

NoSQl数据库(非关系数据库):Redis、Ehcache、MongoDB等 ----直接通过键值对的方式取值,数据之间不存在关系

SQL数据库(关系数据库):SQLServer、Oracle、MySQL等 ----通过查询表的方式获取数据

 二、Linux上安装redis

上传并解压redis.gz

将Redis的安装包拖进MobaXterm中

#1.解压redis
tar -zxvf redis-5.0.0.tar.gz 

#2.安装gcc
yum install -y gcc

Redis与Tomcat最大的区别就是,redis的使用需要gcc的环境支持,才能使用

安装好之后还需要将Redis编译一下

进入 redis的解压目录,执行命令 make

#3.编译redis
cd /redis-5.0.0
 make(需进入Redis的解压目录执行命令-编译)

 编译完成之后,redis就能运行了,但是是非守护进程方式。而非守护进程不能输入其他命令,想输入的时候只能Ctrl+c,但Ctrl+c的时候服务会停止,所有我们需要修改redis的配置,改成守护进程

注:Redis端口号:6379

修改redis为守护进程

#4.修改redis.conf文件,将Redis修改为守护进程
先将redis.conf 备份
cp redis.conf  redis.conf.bak20220809
进入redis.conf文件,将daemonize no 改为 daemonize yes

注意:当连接工具不能直接打开文件编辑,那么需要通过以下方法进行快速查找

# Linux在文件中查找关键字 vim xxx.conf 先"/" 然后"关键字" 再enter; 如果第一个不是你想找到的目标,"n"指找下一个
#5.启动redis
./(src-需要在src里面/)redis-server ../redis.conf 
通过哪个配置文件去启动Redis

#6.测试redis启动是否成功
./(src/)redis-cli
ping
(会回应一个 PONG)

 

们测试一下能否远程连接RedisDesktopManager客户端

可以看到,是连接不上的。

原因:1.redis的端口号6379没有开放。2. redis.conf 里面还缺少了配置

 开放6379端口

开放redis端口
firewall-cmd --zone=public --add-port=6379/tcp --permanent
#更新防火墙规则
firewall-cmd --reload
#查看防火墙列表
firewall-cmd --zone=public --list-ports

 授权,允许远程连接

再次修改redis.conf文件

更改密码 更改完之后查看一下redis的服务是否是启动的 

服务还是启动的,但我们的配置已经更改了,所以我们需要杀掉redis进程

kill -9 进程 pid 
再次启动
./(src/)redis-server ../redis.conf
就能远程连接了 

 注意 lsof -i:6379 里的数字

再看一下进程,就会发现已经关闭了 

 再次远程连接RedisDesktopManager 

看到这个就代表连接成功了。

再次测试redis启动是否成功 

为什么我们ping了之后没有返回pong呢?

因为我们配置了外连接和密码,测试redis启动的命令也需要更改

客户端redis-cli链接redis,重新测试
./src/redis-cli -h 127.0.0.1 -p 6379 -a 123456
ping
select 1

 -h:本机IP地址,-p:端口号,-a:密码

三、redis命令 

 切换数据库

Redis字符串(String)

String(字符串) 它是redis最基本的数据类型,一个key对应一个value,需要注意是一个键值最大存储512MB 

# set key          //保存
set name zs
set age 12
set sex nan

# get key          //获取
get name

# del key        //删除
del 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

 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

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开始,同时先进后出

Redis集合(Set)

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

# sadd key value1 [value2]                #向集合添加一个或多个元素
sadd hobby lanqiu zuqiu bingpangqiu zhuoqiu

# scard key                               #获取集合中的元素数量
scard hobby

# exists key                              #是否存在
exists hobby

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

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

相关文章

小程序上新(2022.10.13~11.14)

20221101 【官方公告】境外主体小程序补充信息存储地区通知20221103 小程序基础库 2.27.1 更新 新增 框架 新增 xr-fame 能力,kanata 更新 详情新增 组件 map 组件新增 bindrendersuccess 属性 详情 (官方文档还查不到这个)新增 API 新增 wx.getRendererUserAgen…

tep时隔8个月迎来重大全新升级

tep此次更新,旨在从“工具”升级为“框架”,为此做了大量的代码整洁工作,重新设计了部分功能,项目脚手架也焕然一新。 功能展示 conftest.py 脚手架生成的conftest.py只有一行代码: fixture自动加载等操作都隐藏到了te…

【学习笔记22】JavaScript数组的练习题

笔记首发 一、已知一个排序好的数组 将数字按照原有顺序插入到数组内 var arr [10, 20, 30, 40, 50];var n 11;// 1. 将n插入数组中arr.push(n);// 2. 冒泡排序for (var k 0; k < arr.length - 1; k) {for (var i 0; i < arr.length - 1 - k; i) {if (arr[i] > …

antd——使用a-tree组件实现 检索+自动展开+自定义增删改查功能——技能提升

之前写后台管理系统时&#xff0c;遇到一个下面的需求&#xff0c;下面是最终完成的效果图。 实现的功能有&#xff1a; 1. 下拉 选择不同的类型——就是一个普通的select组件&#xff0c;下面并不做介绍 2. 通过关键字可以进行tree树形结构的筛选&#xff0c;然后将筛选后的…

数据结构学习笔记——查找算法

目录前言一、查找的相关概念&#xff08;一&#xff09;内查找和外查找&#xff08;二&#xff09;静态查找和动态查找&#xff08;三&#xff09;平均查找长度二、线性查找&#xff08;一&#xff09;顺序查找1、查找思想2、算法分析3、有序表的顺序查找&#xff08;二&#x…

gitlab-runner 的安装使用(含 .gitlab-ci.yml 的简单使用)

简介 GitLab Runner 是一个开源项目&#xff0c;用于运行您的作业并将结果发送回 GitLab。它与 GitLab CI 一起使用&#xff0c;GitLab CI 是 GitLab 随附的开源持续集成服务&#xff0c;用于协调作业。 简单理解就是一个服务放在那儿&#xff0c;当你提交代码时&#xff0c;…

[附源码]java毕业设计在线课程网站

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

腾讯安全SOC+能力图谱正式发布,助力政企构建闭环安全运营体系

随着云计算、人工智能、5G等新兴技术的融合发展&#xff0c;数字化转型正成为企业数字经济时代的重要发展路径。然而&#xff0c;数字化转型过程中IT架构的重塑、安全产品体系化能力不足带来的安全运营挑战&#xff0c;使得企业在业务突破上面临安全瓶颈。 面对网络安全事件频…

做一个微信小程序需要多少钱?

做一个微信小程序需要多少钱&#xff1f; 如果是选择套用小程序模板&#xff0c;自建的方式的话&#xff0c;价格是在698-3498元一年的。 如果是代建小程序的话&#xff0c;需要在自建的费用上&#xff0c;再加上1500-12000元的代建费用。 下面主要给大家讲讲698-3498元这个…

Spring依赖注入源码解析(上)

文章目录前言一、Spring中到底有几种依赖注入的方式&#xff1f;1、手动注入1.1、set方法进行注入1.2、通过构造方法进行注入2、自动注入2.1、XML的autowire自动注入2.2、Autowired注解的自动注入二、autowireByName && autowireByType核心源码分析2.1、autowireByName…

最新最全的JavaScript入门视频,包含小程序和uniapp相关的JavaScript知识学习

写在前面 我们学习JavaScript不仅可以用于web网站开发&#xff0c;也可以用于小程序&#xff0c;uniapp项目的开发&#xff0c;所以我们学习JavaScript很重要。 准备工作 我们这里学习JavaScript用的是小程序开发者工具或者uniapp开发者工具&#xff0c;所以需要你先装好这两…

基于Servlet+jsp+mysql开发javaWeb学生管理系统(学生信息、学生选课、学生成绩、学生签到考勤)

你知道的越多&#xff0c;你不知道的越多 点赞再看&#xff0c;养成习惯 如果您有疑问或者见解&#xff0c;或者没有积分想获取项目&#xff0c;欢迎指教&#xff1a; 企鹅&#xff1a;869192208 文章目录一、开发背景二、 需求分析三、开发环境四、运行效果五、开发流程工程目…

【web前端开发】HTML知识点超详细总结

文章目录什么是网页常用的浏览器及内核VScode和WebStrom使用HTML常用标签文档类型<!DOCTYPE>网页语言lang字符集title标签标题标签段落和换行标签文本格式化标签div和span标签图像标签路径相对路径同一级路径上一级路径:下一级路径绝对路径链接标签超链接标签外部链接:内…

为什么心脏长在左边?

人体各项生命活动的正常维持&#xff0c;都离不开血液循环系统输送营养和代谢废物&#xff0c;而给全身输送血液的动力器官就是心脏。可以说&#xff0c;心脏是人体的发动机。不过&#xff0c;你有没有思考过&#xff0c;为什么心脏会长在我们身体的左边呢&#xff1f; 为了解释…

css ppt操作面板 预览时其中标签定位问题

最近用网页写了一个类似PPT页面板操作功能&#xff0c;就是把文本框和图片放入操作面板后&#xff0c;手动拖动到自定义位置&#xff0c;并可以控制文本框和图片大小&#xff0c;但是在预览时位置怎么都放不对&#xff0c;可能跟我css知识不扎实有关&#xff0c;两天没解决&…

从一道题到贪心入门

今天,我们将从一道题引入贪心算法的认识. 题目 题目描述 又是一年秋季时&#xff0c;陶陶家的苹果树结了 n 个果子。陶陶又跑去摘苹果&#xff0c;这次他有一个 a 公分的椅子。当他手够不着时&#xff0c;他会站到椅子上再试试。 这次与 NOIp2005 普及组第一题不同的是&#x…

搭建ESP8266开发环境

获取工具 安信可一体化开发环境 Source insight (本菜鸟不太喜欢用Eclipse) 安装 安装ESP8266开发环境(Windows) 1)双击运行解压到文件 2)安装方式一:eclipse 双击运行ConfigTool.exe点击 Default 可以检测当前所在路径&#

图神经网络关系抽取论文阅读笔记(三)

1 用于关系提取的注意引导图卷积网络&#xff08;Attention Guided Graph Convolutional Networks for Relation Extraction&#xff0c;2020&#xff09; 论文&#xff1a;Attention Guided Graph Convolutional Networks for Relation Extraction&#xff0c;2020 1.1 引言 依…

笔试强训第一天

选择题&#xff1a; 题目1&#xff1a; 我们对这道题目进行分析&#xff1a;第一个打印的是computer没有什么问题&#xff0c;但是第二个%5.3s我们需要进行分析&#xff1a; %m.ns m表示输出字符串的宽度&#xff0c;这里输出字符串的宽度为5 n表示左起截取目标字符串的n个…

m基于OFDM系统,对比SC算法,Minn算法,PARK算法同步性能matlab仿真分析

目录 1.算法描述 2.仿真效果预览 3.MATLAB部分代码预览 4.完整MATLAB程序 1.算法描述 OFDM系统下对比SC算法&#xff0c;Minn算法&#xff0c;PARK算法同步性能matlab仿真分析。OFDM系统中的定时估计和频率频率算法——时频联合估计的SC算法&#xff0c;由Schmidl和Cox提出…