当前位置: 首页 > 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…...

在C语言中使用UUID作为AES加密密钥

在C语言中使用UUID作为AES加密密钥 编译依赖安装示例代码编译和运行关键点说明![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/0df1f1d803cd40688f6d58a9d0e1f1d9.png)注意事项编译依赖安装 运行环境位centos8 Linux 4.18.0-348.7.1.el8_5.x86_64 #1 SMP Wed Dec …...

内容力重塑品牌增长:开源AI大模型驱动下的智能名片与S2B2C商城赋能抖音生态种草范式

摘要&#xff1a;内容力已成为抖音生态中品牌差异化竞争的核心能力&#xff0c;通过有价值、强共鸣的内容实现产品"种草"与转化闭环。本文基于"开源AI大模型AI智能名片S2B2C商城小程序源码"技术架构&#xff0c;提出"技术赋能内容"的新型种草范式…...

Go字符串切片操作详解:str1[:index]

在Go语言中&#xff0c;return str1[:index] 是一个​​字符串切片操作​​&#xff0c;它截取字符串的一部分。让我们深入解析这个操作的含义和原理&#xff1a; 基本语法和含义 str1&#xff1a;原始字符串[:index]&#xff1a;切片操作符str1[:index]&#xff1a; ​​起始…...

iOS、Android、鸿蒙、Web、桌面 多端开发框架Kotlin Multiplatform

Kotlin Multiplatform&#xff08;简称 KMP&#xff09;是 JetBrains 推出的开源跨平台开发框架 Kuikly 是腾讯开源的跨端开发框架&#xff0c;基于 Kotlin Multiplatform 技术构建&#xff0c;为开发者提供了技术栈更统一的跨端开发体验 KMP 不仅局限于移动端&#xff0c;它…...

QtDBus模块功能及架构解析

Qt 6.0 中的 QtDBus 模块是一个用于进程间通信&#xff08;IPC&#xff09;的核心模块&#xff0c;它基于 D-Bus 协议实现。D-Bus 是一种在 Linux 和其他类 Unix 系统上广泛使用的消息总线系统&#xff0c;允许应用程序和服务相互通信。 一、QtDBus模块主要功能&#xff1a; 1…...

任务调度器-关于中心化调度 vs 去中心化调度的核心区别

1. 定义与架构模型 维度中心化调度去中心化调度核心角色存在一个中央调度器&#xff08;如XXL-JOB的调度中心&#xff09;&#xff0c;统一管理任务分配、状态监控和故障处理。无中心节点&#xff0c;调度逻辑分散在多个节点&#xff0c;通过共识算法&#xff08;如选举机制&a…...

深度学习环境配置指南:基于Anaconda与PyCharm的全流程操作

一、环境搭建前的准备 1. 查看基础环境位置 conda env list 操作说明&#xff1a;通过该命令确认Anaconda默认环境&#xff08;base&#xff09;所在磁盘路径&#xff08;如D盘&#xff09;&#xff0c;后续操作需跳转至该磁盘根目录。 二、创建与激活独立虚拟环境 1. 创…...

强化学习基础概念图文版笔记

&#x1f4d8; 强化学习基础概念图文版笔记 1️⃣ 基本框架&#xff1a;Agent 与 Environment &#x1f9e0; 核心角色&#xff1a; Agent&#xff08;智能体&#xff09;&#xff1a;做出决策的“大脑”&#xff0c;根据当前状态选择动作。Environment&#xff08;环境&…...

Git 推送失败解决教程——error: failed to push some refs to

&#x1f6a7; Git 推送失败解决教程&#xff1a; 错误信息&#xff1a; error: failed to push some refs to ... hint: Updates were rejected because the remote contains work that you do not have locally.&#x1f9e0; 问题原因简述&#xff1a; 你的本地分支试图将…...

4G网络中频段的分配

国内三大运营商使用的4G网络频段及对应关系如下&#xff1a; &#x1f4f6; 一、中国移动&#xff08;以TD-LTE为主&#xff09; 主力频段 Band 38&#xff08;2570-2620MHz&#xff09;&#xff1a;室内覆盖Band 39&#xff08;1880-1920MHz&#xff09;&#xff1a;广覆盖&am…...