小白带你学习linux的Redis基础(三十二)

news2024/11/24 22:44:32

目录

前言

一、概述

1、NoSQL

2、Redis

二、安装

1、基础配置

2、编译安装

3、RPM安装网络源安装

三、目录结构

1、rpm  -ql redis

2、/etc/redis.conf

四、命令解析

1、redis-server

2、redis-cli

2、redis-check-rdb

3、redis-check-aof

五、redis登录更改

1、问题

2、解决办法

六、数据库操作

1、登录数据库

2、帮助信息

3、库操作

4、数据操作

七、redis持久化

1、RDB模式

2、AOF模式


前言

Redis(REmote DIctionary Server)是一个开源的内存数据库,它支持存储和检索键值对。Redis被广泛应用于各种场景,如缓存、消息队列、计数器、分布式锁等。

Redis的特点包括:

  1. 内存数据存储:Redis将所有数据都存储在内存中,以实现快速的读写操作。
  2. 数据持久性:Redis可以将数据持久化到硬盘中,以防止数据丢失。
  3. 多种数据结构支持:Redis支持多种数据结构,如字符串、哈希表、列表、集合、有序集合等,使得它可以处理各种不同类型的数据。
  4. 高性能:由于数据存储在内存中,Redis能够以非常高的速度读取和写入数据。
  5. 分布式:Redis支持主从复制和分片,可以实现数据的高可用和横向扩展。
  6. 支持事务:Redis支持简单的事务操作,保证多个操作的原子性。
  7. 发布/订阅模式:Redis支持发布/订阅模式,可以用于实现消息队列。

总之,Redis是一个高性能、灵活和可扩展的数据库,它在许多大规模互联网应用中被广泛使用。

一、概述

1、NoSQL

非关系型数据库

内存存储

类型

文档型数据库(Document-oriented database)如MongoDB;

列族数据库(Column-family database)如HBase、Cassandra等;

图形数据库(Graph database)如Neo4j、ArangoDB等;

键值对数据库(Key-value database)如Redis、Memcached等;

对象数据库(Object-oriented database)如db4o等。

应用场景

缓存:Redis最常用的应用场景就是缓存,它可以缓存各种类型的数据,如数据库查询结果、API返回结果等,以提高应用程序的响应速度和并发性能。

分布式锁:Redis的分布式锁可以确保在分布式系统中对某个资源的互斥访问,避免多个节点出现并发操作的问题。

计数器:Redis支持对计数器的操作,能够方便地实现各种计数器的功能,如网站访问次数计数、订单数量计数等。

会话管理:Redis可以用来管理会话信息,实现会话的状态存储和共享,避免了单点故障的问题。

消息队列:Redis支持发布订阅模式,可以作为一个轻量级的消息队列使用,实现异步消息理和任务派发等功能。

2、Redis

Remote Dictionary Server        远程字典服务

官网         https://www.redis.net.cn/

内存存储、持久化

键值对存储

监听端口号       6379

数据类型

字符串(string)

哈希值(hash)

列表(list)

集合(set)

位图(bitmap)

二、安装

1、基础配置

关闭防火墙,更改宽容模式,配置IP地址能联通网络

配置IP网卡重启网络

vim /etc/sysconfig/network-scripts/ifcfg-ens33

systemctl restart network

 关闭防火墙,改为宽容模式

systemctl stop firewalld

setenforce 0

能连上网即可

2、编译安装

wget http://download.redis.io/releases/redis-5.0.8.tar.gz

make && make install

3、RPM安装网络源安装

yum install -y epel-release

yum install -y redis

启动

systemctl start redis

netstat -anptu | grep redis 

  默认监听127.0.0.1地址

三、目录结构

1、rpm  -ql redis

2、/etc/redis.conf

主配置文件

bind 127.0.0.1 修改监听地址
port 6379 修改监听端口号
pidfile  指定通过该配置文件启动    reids进程后的PID文件名称
loglevel 定义日志级别
logfile 定义日志存储路径
databases   指定默认数据库数量
save     定义单位时间内key的改变次数
dbfilename 定义存储RDB持久化数据的文件名称
dir定义RDB与AOF文件的存储目录
 appendonly AOF的启停
appendfilename定义AOF持久化文件的名称
appendfsync 定义AOF数据同步间隔
requirepass 设置登录redis的密码

/var/lib/redis                   持久化文件存储目录

/var/log/redis                  日志文件存储目录

/var/run/redis                   PID文件存储目录

四、命令解析

1、redis-server

vim /etc/redis.conf 

cp /etc/redis.conf  /opt/redis_6380.conf

vim /opt/redis_6380.conf 

redis-server /opt/redis_6380.conf 

!net

第一步

 第二步cp

第三步port改为6380

 第四步redis-server /opt/redis_6380.conf 

第五步!net

redis启动命令

2、redis-cli

redis登录命令

-h            redis服务器IP

-p             指定访问端口号

-a             指定登录密码

-n             指定数据库编号

2、redis-check-rdb

检查RDB文件

3、redis-check-aof

检查AOF文件

五、redis登录更改

1、问题

更改完port后,systemctl启动redis异常

2、解决办法

理论上cp这个文件可以开启无限的进程

cp /etc/redis.conf  /opt/redis_6380.conf

vim /opt/redis_6380.conf 

使用redis-server /opt/redis_6380.conf

开启的是前台进程如果要开启后台进程需要进行下一步

若要redis后台运需修改配置文件 daemonize yes

六、数据库操作

1、登录数据库

本地登录         监听回环地址              redis-cli

                       监听本地网卡地址      redis-cli -h IP -p 端口号

远程登录

基本部署条件需要一台服务器和客户端

客户端更改完配置安装软件

服务端需要更改配置文件

vim/etc/redis.conf

systemctl restart redis

netstat -anptu | grep redis

回到客户机输入命令 :redis-cli -h 192.168.28.100

回服务器设置一个密码重启一下服务器

 回服务器进一下数据库

比如想换一下库

2、帮助信息

help 命令字

tab补齐

3、库操作

切换            select 数据库编号

4、数据操作

set           设置键值对

                set key value

keys          keys *             查看所有键的名称

                  keys 键名称     查看一个键是否存在

get             取出键值对

                  get 键

                   键不存在则返回空

del              删除键值对

                    del key

flushall          清空所有数据库中的数据(慎用)

rename         重命名键名称

                      不论更名后的键是否存在都会覆盖原有键,并将改名前的键的值赋予改名后的键

                      rename oldkey newkey

renamenx       重命名键名称

                       假如改名后键名称存在则更改不成功

                       renamenx oldkey newkey

move             移动键值对到指定数据库

                      move key dbnumber

                      假如目标数据库中存在同名键则移动失败

ttl                   查看键值对的生命周期

                       ttl key              -1   永久    -2     已过期

expire          设置键值对的存储周期

                    expire key seconds

七、redis持久化

1、RDB模式

默认持久化

dump.rdb         数据库启动时会读取

触发条件        redis进程退出                      宕机

                                                                   redis程序崩溃

                        手动保存(触发RDB)       save

2、AOF模式

默认关闭

appendonly.aof          默认进程启动时读取

开启            appendonly  yes

数据库创建用户

查看一下文件

 开启aof系统就不读取dump.rdb

可以与RDB同时使用

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

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

相关文章

ES面试题

前言 1、面试突击正确的学习姿势 老师在给你讲面试突击的时候,是有课件的,而且是有准备的。你在面试的时候,是没有笔记课件的,而且问题是由面试官提问的,具有一定的随机性面试突击课程的目标不是听懂,而是…

文件上传漏洞(webshell)

一、防护 1、防护 1、判断文件后缀,为图片的话才让上传成功。 2、解析文件内容(文件幻数)判断文件头和文件尾部是否一致 幻数 常见的 3、隐藏按钮(带上code唯一值) 4、二次渲染(类似拿着你的图片&#xff…

cannot import name ‘container_abcs‘ from ‘torch._six‘

进行模型训练的时候,报错: 原因是:torch1.8版本之后container_abcs被移除了,所以我们需要修改timm库中调用container_abcs的调用方式: timm库中调用container_abcs的文件是“~\Conda\envs\pytorch\Lib\site-packages\…

Java后台生成ECharts图片,并以Base64字符串返回

前言 通过echarts的jar包,Java后台生成一张图片,并把图片插入到word中。关于word插图片的代码在下一章。 需要用到的工具PhantomJS,Echarts-convert.js,jquery.js,echarts.js。 1.PhantomJS 介绍 PhantomJS是一个不需要浏览器的富客户端。 官方介绍&…

十年后的web渗透(网络安全)前景如何?你想知道的都在这里

前言 web渗透是网络安全大行业里入门板块,就像十年前的软件,前景非常被看好,薪资也很诱人。与软件测试和前端开发只需掌握一定的编程能力不同的是,渗透需要掌握的知识内容较多,花费的时间较长,渗透测试掌握…

值得苦练的100道Python经典练手题,(附详细答案)

嗨喽大家好卷子又来了,100道Python经典练手题奉上 花了一周的时间,整理了100道Python的练习题,如果你是一位初学者,那么这一份练习题将会给你带来极大的帮助,如果你能够完全独立的完成这份练习题,你已经入…

C/C++学习笔记 Vantage Point Trees的C++实现

下面代码是VP 树的 C 实现,递归search()函数决定是搜索左孩子、右孩子还是两个孩子。为了有效地维护结果列表,我们使用优先级队列。 // A VP-Tree implementation, by Steve Hanov. (steve.hanovgmail.com) // Released to the Public Domain // Based o…

【C++】开源:tinyxml2解析库配置使用

😏★,:.☆( ̄▽ ̄)/$:.★ 😏 这篇文章主要介绍tinyxml2解析库配置使用。 无专精则不能成,无涉猎则不能通。——梁启超 欢迎来到我的博客,一起学习,共同进步。 喜欢的朋友可以关注一下,…

路由器中DMZ、UPnP、Port Forwarding等功能介绍与使用

目录 一、DMZ功能1.1 概念1.2 验证测试方式 二、UPnP功能2.1 概念2.2 验证测试方法 三、Port Forwarding功能3.1 概念3.2 验证测试方法3.3 NAT相关 一、DMZ功能 1.1 概念 **DMZ(Demilitarized Zone)**是指位于防火墙内部网络(LAN&#xff0…

Sentinel整合Spring Cloud Gateway、Zuul详解

Sentinel 支持对 Spring Cloud Gateway、Zuul 等主流的 API Gateway 进行限流。 Sentinel 1.6.0 引入了 Sentinel API Gateway Adapter Common 模块,此模块中包含网关限流的规则和自定义 API 的实体和管理逻辑: GatewayFlowRule:网关限流规则…

公文校对要点:确保准确性和规范性

公文校对是确保文档准确性和规范性的重要步骤。以下是公文校对的要点: 1.拼写和语法检查:仔细检查文档中的拼写错误和语法错误。确保词语的正确拼写,并使用正确的语法结构和标点符号。 2.信息准确性:核对文档中的事实和数据&#…

AP51656 电流采样降压恒流驱动IC RGB PWM深度调光 LED电源驱动

产品描述 AP51656是一款连续电感电流导通模式的降压恒流源,用于驱动一颗或多颗串联LED 输入电压范围从 5 V 到 60V,输出电流 可达 1.5A 。根据不同的输入电压和 外部器件, 可以驱动高达数十瓦的 LED。 内置功率开关,采用电流采样…

Java ThreadPoolExecutor,Callable,Future,FutureTask 详解

目 录 一、ThreadPoolExecutor类讲解 1、线程池状态 五种状态 2、ThreadPoolExecutor构造函数 2.1)线程池工作原理 2.2)KeepAliveTime 2.3)workQueue 任务队列 2.4)threadFactory 2.5)handler 拒绝策略 3、常…

递归在树的深度遍历中的运用

树的深度遍历 对于树这种数据结构,之前一直使用的是层次遍历,也就是广度优先搜索的方式(BFS);对于树的遍历,还可以进行深度优先搜索(DFS)。 而结合递归,树的深度优先搜索…

【硬件设计】模拟电子基础三--集成运算放大电路

模拟电子基础三--集成运算放大电路 一、集成运算放大器1.1 定义、组成与性能1.2 电流源电路1.3 差动放大电路1.4 理想运算放大器 二、集成运算放大器的应用2.1 反向比例运算电路2.2 同向比例运算电路2.3 反向加法运算电路2.4 反向减法运算电路2.5 积分运算电路2.6 微分运算电路…

vivado tcl创建工程和Git管理

一、Tcl工程创建 二、Git版本管理 对于创建完成的工程需要Git备份时,不需要上传完整几百或上G的工程,使用tcl指令创建脚本,并只将Tcl脚本上传,克隆时,只需要克隆tcl脚本,使用vivado导入新建工程即可。 优…

最详细,手机APP测试-ADB命令总结大全,你要的都在这...

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 adb是什么&#x…

系统集成项目成本管理

在项目中,成本是指项目活动或其组成部分的货币价值或价格,包括为实施、完成或创造该活动或其组成部分所需资源的货币价值。具体的成本一般包括直接工时、其他百接费用、间接工时、其他间接费用以及采购价格。 项目全过程所耗用的各种成本的总和为项目成本…

无数资深果粉称之为 Mac 装机必备软件的 ——CleanMyMac X

它就是被无数资深果粉称之为 Mac 装机必备软件的 ——CleanMyMac X。或许你没用过它,但是大概率你身边一定有它的资深用户,作为 MacPaw 旗下的老牌清理软件,在全球已经拥有超过 2500 万次的下载量。 它有着五大强悍的功能,可以帮…

超融合基础架构 (HCI) 监控

什么是超融合基础架构 (HCI) 超融合基础架构 (HCI) 是一种软件定义的基础架构技术,它将计算、虚拟化和网络功能全部整合到一个设备中。超融合基础架构 (HCI) 解决方案使用软件和 x86 服务器来取…