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

Redis基础 (三十八)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

目录

前言

一、概述

1.1 NoSQL

1.2 Redis

二、安装

 2.1  安装方式 :

三、目录结构

3.1 rpm  -ql redis

3.2 /etc/redis.conf     主配置文件

3.3 /var/lib/redis

3.4 /var/log/redis

3.5 /var/run/redis

四、命令解析

五、redis登录更改

六、数据库操作

 6.1登录数据库

 6.1.1  本地登录

 6.1.2 远程登录

七、Redis持久化

7.1  类型

7.1.1 RDB模式

  7.1.2 AOF模式



前言

Redis(Remote Dictionary Server)是一个开源的高性能键值存储数据库,它是一种NoSQL数据库,常被用作缓存、消息队列和数据存储等场景。它支持多种数据结构,如字符串、哈希、列表、集合和有序集合,并提供了丰富的操作和功能。


提示:以下是本篇文章正文内容,下面案例可供参考

一、概述

1.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支持发布订阅模式,可以作为一个轻量级的消息队列使用,实现异步消息处理和任务派发等功能。

1.2 Redis

  Remote Dictionary Server
        远程字典服务
    官网
        https://www.redis.net.cn/
    内存存储、持久化
    键值对存储
    监听端口号
          6379
    数据类型
        字符串(string)
        哈希值(hash)
        列表(list)
        集合(set)
        位图(bitmap)

二、安装

 2.1  安装方式 :

编译安装
            wget http://download.redis.io/releases/redis-5.0.8.tar.gz
            make && make install

RPM安装
            yum install -y epel-release


            yum install -y redis


            启动
                systemctl start redis
            默认监听127.0.0.1地址

三、目录结构

3.1 rpm  -ql redis

3.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的密码

3.3 /var/lib/redis

            持久化文件存储目录

3.4 /var/log/redis

            日志文件存储目录

3.5 /var/run/redis

           PID文件存储目录


四、命令解析

redis-server
        redis启动命令


    redis-cli
        redis登录命令


            -h
                redis服务器IP
            -p
                指定访问端口号


            -a
                指定登录密码
            -n
                指定数据库编号
    redis-check-rdb
        检查RDB文件
    redis-check-aof
        检查AOF文件

五、redis登录更改


    问题
        更改完port后,systemctl启动redis异常
    解决办法
        使用redis-server /etc/redis.conf
        若要redis后台运需修改配置文件 daemonize yes

 启动两个端口:

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

进入vim /opt/redis_6380.conf 中,修改端口号为6380

启动(会发现启动的是前台进程)

 进入vim /opt/redis_6380.conf 中,修改daemonize 为yes (到后台)

 启动 

查看

六、数据库操作

 6.1登录数据库


 6.1.1  本地登录

监听回环地址
            redis-cli


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

 6.1.2 远程登录

redis -cli -h 192.168.112.152 -a123.com -n 2

在主服务器上更改配置文件

 

设置密码

 在另一台测试


    帮助信息
        help 命令字
        tab补齐
    库操作
        切换
            select 数据库编号


    数据操作
        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持久化

7.1  类型

7.1.1 RDB模式

默认持久化
            dump.rdb
                数据库启动时会读取
            触发条件
                redis进程退出
                    宕机
                    redis程序崩溃
                手动保存(触发RDB)
                    save

 进入vim /etc/redis.conf中

 

  7.1.2 AOF模式

 默认关闭
            appendonly.aof
                默认进程启动时读取
            开启
                appendonly  yes
                可以与RDB同时使用

进入vim /etc/redis.conf中


总结

所以,一起行动起来吧。

相关文章:

Redis基础 (三十八)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 目录 前言 一、概述 1.1 NoSQL 1.2 Redis 二、安装 2.1 安装方式 : 三、目录结构 3.1 rpm -ql redis 3.2 /etc/redis.conf 主配置文件 3.3 /var/lib/redis …...

maven中的scope

1、compile:默认值,可省略不写。此值表示该依赖需要参与到项目的编译、测试以及运行周期中,打包时也要包含进去。 2、test:该依赖仅仅参与测试相关的工作,包括测试代码的编译和执行,不会被打包,…...

【网络基础实战之路】实现RIP协议与OSPF协议间路由交流的实战详解

系列文章传送门: 【网络基础实战之路】设计网络划分的实战详解 【网络基础实战之路】一文弄懂TCP的三次握手与四次断开 【网络基础实战之路】基于MGRE多点协议的实战详解 【网络基础实战之路】基于OSPF协议建立两个MGRE网络的实验详解 PS:本要求基于…...

CNN(四):ResNet与DenseNet结合--DPN

🍨 本文为🔗365天深度学习训练营中的学习记录博客🍖 原作者:K同学啊|接辅导、项目定制 前面实现了ResNet和DenseNet的算法,了解了它们有各自的特点: ResNet:通过建立前面层与后面层之间的“短路…...

汽车EBSE测试流程分析(四):反思证据及当前问题解决

EBSE专题连载共分为“五个”篇章。此文为该连载系列的“第四”篇章,在之前的“篇章(三)”中已经结合具体研究实践阐述了“步骤二,通过系统调研确定改进方案”等内容。那么,在本篇章(四)中&#…...

如何在Spring MVC中使用@ControllerAdvice创建全局异常处理器

文章目录 前言一、认识注解:RestControllerAdvice和ExceptionHandler二、使用步骤1、封装统一返回结果类2、自定义异常类封装3、定义全局异常处理类4、测试 总结 前言 全局异常处理器是一种 🌟✨机制,用于处理应用程序中发生的异常&#xff…...

2023/08/05【网络课程总结】

1. 查看git拉取记录 git reflog --dateiso|grep pull2. TCP/IP和OSI七层参考模型 3. DNS域名解析 4. 预检请求OPTIONS 5. 渲染进程的回流(reflow)和重绘(repaint) 6. V8解析JavaScript 7. CDN负载均衡的简单理解 8. 重学Ajax 重学Ajax满神 9. 对于XML的理解 大白话叙述XML是…...

log_softmax比softmax更好?

多类别分类的一个trick 探讨一下在多类别分类场景,如翻译、生成、目标检测等场景下,使用log_softmax的效果优于softmax的原因。 假设词典大小为10,一个词的ID为9(即词典的最后一个词),使用交叉熵作为损失函…...

[LeetCode - Python]344.反转字符串(Easy);345. 反转字符串中的元音字母(Easy);977. 有序数组的平方(Easy)

1.题目 344.反转字符串(Easy) 1.代码 class Solution:def reverseString(self, s: List[str]) -> None:"""Do not return anything, modify s in-place instead."""# 双指针left,right 0, len(s)-1while left < right:temp s[left]s[…...

【SOP】最佳实践之 TiDB 业务写变慢分析

作者&#xff1a; 李文杰_Jellybean 原文来源&#xff1a; https://tidb.net/blog/d3d4465f 前言 在日常业务使用或运维管理 TiDB 的过程中&#xff0c;每个开发人员或数据库管理员都或多或少遇到过 SQL 变慢的问题。这类问题大部分情况下都具有一定的规律可循&#xff0c;…...

带有参数的 PL/SQL 过程/函数从选择查询返回表

技术标签: 【中文标题】带有参数的 PL/SQL 过程/函数从选择查询返回表【英文标题】&#xff1a;PL/SQL Procedure/function with params to return a table from(of) a select query【发布时间】&#xff1a;2020-12-01 11:17:49【问题描述】&#xff1a; 如何创建带参数的 (…...

文件的权限

1、修改文件的所属者和所属组 2、修改文件某一类人&#xff08;所属者、所属组、其他人&#xff09;的权限 一、用户对于普通文件的权限 二、用户对于目录文件的权限 三、访问控制列表ACL 四、特殊权限&#xff08;了解&#xff09; wuneng创建了几个文件&#xff0c;xiaoming对…...

vue3集成echarts最佳实践

安装 echarts npm install echarts --save 两种引用方式 非虚拟 dom import * as echarts from echarts;var chartDom document.getElementById(mychart); var myChart echarts.init(chartDom); var option;option {title: {text: Referer of a Website,subtext: Fake Da…...

一位年薪40W的测试被开除,回怼的一番话,令人沉思

一位年薪40W测试工程师被开除回怼道&#xff1a;“反正我有技术&#xff0c;在哪不一样” 一技傍身&#xff0c;万事不愁&#xff0c;当我们掌握了一技之长后&#xff0c;在职场上说话就硬气了许多&#xff0c;不用担心被炒&#xff0c;反过来还可以炒了老板&#xff0c;这一点…...

网络适配器和MAC地址

点对点信道&#xff1a;由于目的地只有一个选项&#xff0c;所以数据链路层不需要使用地址。 而在广播信道中&#xff1a; 各个主机如何判断信号是不是发给自己的&#xff1f; 当多个主机连接在同一个广播信道上&#xff0c;要想实现两个主机之间的通信&#xff0c;则每个主机都…...

react-player静音不能自动播放问题

现象 移动端不能自动播放 原因 取决于您使用的浏览器&#xff0c;但muted如果您不想与autoplay用户交互&#xff0c;则必须使用视频。 Chrome 的自动播放策略很简单&#xff1a; 始终允许静音自动播放。在以下情况下允许自动播放声音&#xff1a; 用户与域进行了交互&#x…...

培训Java技术要多久才能学会?答案都在这里啦

培训Java技术要多久才能学会?这是想学习Java开发的很多人都会问到的一个问题。而这个问题的答案其实并不是那么简单&#xff0c;因为学Java的时间长短受到众多因素的影响。本文将从个人基础、学习动力和学习效率三个方面来为您解答这个问题。 1. 个人基础 自己的基础对于学习…...

Java中使用HttpPost发送form格式的请求

在Java中使用HttpPost发送form格式的请求&#xff0c;可以使用Apache HttpClient库来实现。以下是一个示例代码&#xff1a; import org.apache.http.HttpEntity; import org.apache.http.HttpResponse; import org.apache.http.NameValuePair; import org.apache.http.client…...

C语言----字节对齐

一&#xff1a;字节对齐的概念 针对字节对齐&#xff0c;百度百科的解释如下&#xff1a; 字节对齐是字节按照一定规则在空间上排列&#xff0c;字节(Byte)是计算机信息技术用于计量存储容量和传输容量的一种计量单位&#xff0c;一个字节等于8位二进制数&#xff0c;在UTF-8编…...

Next.js入门介绍(服务端渲染)

Next.js 一 目录 不折腾的前端&#xff0c;和咸鱼有什么区别 目录一 目录二 前言三 设置四 多页面五 链接六 样式七 共享组件八 布局组件九 实战 9.1 目录结构 9.2 UI 组件 9.3 Markdown 内容 9.4 Pages 入口和 API  9.4.1 服务端渲染 9.5 Public 静态资源 9.6 resor…...

手游刚开服就被攻击怎么办?如何防御DDoS?

开服初期是手游最脆弱的阶段&#xff0c;极易成为DDoS攻击的目标。一旦遭遇攻击&#xff0c;可能导致服务器瘫痪、玩家流失&#xff0c;甚至造成巨大经济损失。本文为开发者提供一套简洁有效的应急与防御方案&#xff0c;帮助快速应对并构建长期防护体系。 一、遭遇攻击的紧急应…...

工业安全零事故的智能守护者:一体化AI智能安防平台

前言&#xff1a; 通过AI视觉技术&#xff0c;为船厂提供全面的安全监控解决方案&#xff0c;涵盖交通违规检测、起重机轨道安全、非法入侵检测、盗窃防范、安全规范执行监控等多个方面&#xff0c;能够实现对应负责人反馈机制&#xff0c;并最终实现数据的统计报表。提升船厂…...

【HarmonyOS 5.0】DevEco Testing:鸿蒙应用质量保障的终极武器

——全方位测试解决方案与代码实战 一、工具定位与核心能力 DevEco Testing是HarmonyOS官方推出的​​一体化测试平台​​&#xff0c;覆盖应用全生命周期测试需求&#xff0c;主要提供五大核心能力&#xff1a; ​​测试类型​​​​检测目标​​​​关键指标​​功能体验基…...

PL0语法,分析器实现!

简介 PL/0 是一种简单的编程语言,通常用于教学编译原理。它的语法结构清晰,功能包括常量定义、变量声明、过程(子程序)定义以及基本的控制结构(如条件语句和循环语句)。 PL/0 语法规范 PL/0 是一种教学用的小型编程语言,由 Niklaus Wirth 设计,用于展示编译原理的核…...

MySQL中【正则表达式】用法

MySQL 中正则表达式通过 REGEXP 或 RLIKE 操作符实现&#xff08;两者等价&#xff09;&#xff0c;用于在 WHERE 子句中进行复杂的字符串模式匹配。以下是核心用法和示例&#xff1a; 一、基础语法 SELECT column_name FROM table_name WHERE column_name REGEXP pattern; …...

安全突围:重塑内生安全体系:齐向东在2025年BCS大会的演讲

文章目录 前言第一部分&#xff1a;体系力量是突围之钥第一重困境是体系思想落地不畅。第二重困境是大小体系融合瓶颈。第三重困境是“小体系”运营梗阻。 第二部分&#xff1a;体系矛盾是突围之障一是数据孤岛的障碍。二是投入不足的障碍。三是新旧兼容难的障碍。 第三部分&am…...

快刀集(1): 一刀斩断视频片头广告

一刀流&#xff1a;用一个简单脚本&#xff0c;秒杀视频片头广告&#xff0c;还你清爽观影体验。 1. 引子 作为一个爱生活、爱学习、爱收藏高清资源的老码农&#xff0c;平时写代码之余看看电影、补补片&#xff0c;是再正常不过的事。 电影嘛&#xff0c;要沉浸&#xff0c;…...

【前端异常】JavaScript错误处理:分析 Uncaught (in promise) error

在前端开发中&#xff0c;JavaScript 异常是不可避免的。随着现代前端应用越来越多地使用异步操作&#xff08;如 Promise、async/await 等&#xff09;&#xff0c;开发者常常会遇到 Uncaught (in promise) error 错误。这个错误是由于未正确处理 Promise 的拒绝&#xff08;r…...

LangFlow技术架构分析

&#x1f527; LangFlow 的可视化技术栈 前端节点编辑器 底层框架&#xff1a;基于 &#xff08;一个现代化的 React 节点绘图库&#xff09; 功能&#xff1a; 拖拽式构建 LangGraph 状态机 实时连线定义节点依赖关系 可视化调试循环和分支逻辑 与 LangGraph 的深…...

华为OD最新机试真题-数组组成的最小数字-OD统一考试(B卷)

题目描述 给定一个整型数组,请从该数组中选择3个元素 组成最小数字并输出 (如果数组长度小于3,则选择数组中所有元素来组成最小数字)。 输入描述 行用半角逗号分割的字符串记录的整型数组,0<数组长度<= 100,0<整数的取值范围<= 10000。 输出描述 由3个元素组成…...