Redis基础 (三十八)

news2024/12/24 11:06:17

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

目录

前言

一、概述

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中


总结

所以,一起行动起来吧。

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

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

相关文章

【MATLAB第68期】基于MATLAB的LSTM长短期记忆网络多变量时间序列数据多步预测含预测未来(非单步预测)

【MATLAB第68期】基于MATLAB的LSTM长短期记忆网络多变量时间序列数据多步预测含预测未来(非单步预测) 输入前25个时间,输出后5个时间 一、数据转换 1、原始数据 5列时间序列数据,70行样本 705 数据矩阵结构 2、数据转换 将…

MySQL的查询方法

单表查询 素材: 表名:worker-- 表中字段均为中文,比如 部门号 工资 职工号 参加工作 要求: 1、显示所有职工的基本信息。 2、查询所有职工所属部门的部门号,不显示重复的部门号。 3、求出所有职工的人数。 4、…

Unity之ShaderGraph 节点介绍 数学节点

数学 高级Absolute(绝对值)Exponential(幂)Length(长度)Log(对数)Modulo(余数)Negate(相反数)Normalize(标准化矢量&…

11_Pulsar Adaptors适配器、kafka适配器、Spark适配器

2.3. Pulsar Adaptors适配器 2.3.1.kafka适配器 2.3.2.Spark适配器 2.3. Pulsar Adaptors适配器 2.3.1.kafka适配器 Pulsar 为使用 Apache Kafka Java 客户端 API 编写的应用程序提供了一个简单的解决方案。 在生产者中, 如果想不改变原有kafka的代码架构, 就切换到Pulsar的…

C#之控制台版本得贪吃蛇

贪吃蛇小时候大家都玩过,具体步骤如下: 1.给游戏制造一个有限得空间。 2.生成墙壁,小蛇碰撞到墙壁或者咬到自己的尾巴,游戏结束。 3.生成随机的食物。 4.吃掉食物,增加自身的体长,并生成新的食物。 具体代码如下&…

一文解决JWT相同签名不匹配问题【JWT signature does not match locally computed signature.】

今天做项目的时候,涉及到一个支付记账的功能,想着不能将这些金额数据显示暴露的通过常规的请求体封装来进行传输,想着要是被中途抓包修改了不就麻烦了,所以考虑到这种安全性的需求,就利用上了JWT来进行数据的封装传递&…

IO学习-消息队列

1,要求用消息队列实现AB进程间的对话 a,A进程先发送一句话给B进程,B进程接收后打印。 b,B进程回复一句话给A进程,A进程接收后打印。 c,重复a,b步骤,当收到quit后要结束进程。 A进程 B进程 运行结果: 2,…

力扣 494. 目标和

题目来源:https://leetcode.cn/problems/target-sum/description/ C题解(来源代码随想录):将该问题转为01背包问题。 假设加法的总和为x,那么减法对应的总和就是sum - x。所以我们要求的是 x - (sum - x) target。x …

学会RabbitMQ的延迟队列,提高消息处理效率

系列文章目录 手把手教你,本地RabbitMQ服务搭建(windows) 消息队列选型——为什么选择RabbitMQ RabbitMQ灵活运用,怎么理解五种消息模型 RabbitMQ 能保证消息可靠性吗 推或拉? RabbitMQ 消费模式该如何选择 死信是什么…

[CVPR-23-Highlight] Magic3D: High-Resolution Text-to-3D Content Creation

目录 Abstract Background: DreamFusion High-Resolution 3D Generation Coarse-to-fine Diffusion Priors Scene Models Coarse-to-fine Optimization NeRF optimization Mesh optimization Experiments Controllable 3D Generation Personalized text-to-3D Prom…

自动化实践-全量Json对比在技改需求提效实践

1 背景 随着自动化测试左移实践深入,越来越多不同类型的需求开始用自动化测试左移来实践,在实践的过程中也有了新的提效诉求,比如技改类的服务拆分项目或者BC流量拆分的项目,在实践过程中,这类需求会期望不同染色环境…

当前服务器版本不支持该功能,请联系经销商升级服务器 - - 达梦数据库报错

当前服务器版本不支持该功能,请联系经销商升级服务器 - - 达梦数据库报错 环境介绍1 搭建测试环境2 报错内容3 标准版介绍 环境介绍 某项目使用标准版数据库中,使用insert into 正常操作表,插入数据时报错,表为普通表。 1 搭建测…

【云原生•监控】基于Prometheus实现自定义指标弹性伸缩(HPA)

【云原生•监控】基于Prometheus实现自定义指标弹性伸缩(HPA) 什么是弹性伸缩 「Autoscaling即弹性伸缩,是Kubernetes中的一种非常核心的功能,它可以根据给定的指标(例如 CPU 或内存)自动缩放Pod副本,从而可以更好地管…

new function是什么?(小写function)

参考链接:https://juejin.cn/post/7006232342398238733

【SpringBoot笔记】定时任务(cron)

定时任务就是在固定的时间执行某个程序,闹钟的作用。 1.在启动类上添加注解 EnableScheduling 2.创建定时任务类 在这个类里面使用表达式设置什么时候执行 cron 表达式(也叫七子表达式),设置执行规则 package com.Lijibai.s…

地震预警系统全平台开通攻略

大家好,我是熊哥。 最近地震频发,做为一个有社为责任感的人,我认为我有必要为大家总结这一份安全手册;做为一个小V有必要让更多的人看见,积德攒人品。希望大家平安健康。 效果 在地震来临前,手机、电视会…

每天一道leetcode:剑指 Offer 59 - II. 队列的最大值(中等)

今日份题目: 请定义一个队列并实现函数 max_value 得到队列里的最大值,要求函数max_value、push_back 和 pop_front 的均摊时间复杂度都是O(1)。 若队列为空,pop_front 和 max_value 需要返回 -1 示例1 输入: ["MaxQueue",&qu…

centos7实现负载均衡

目录 一、基于 CentOS 7 构建 LVS-DR 集群。 1.1 配置lvs负载均衡服务 1.1.1 下载ipvsadm 1.1.2 增加vip 1.1.3 配置ipvsadm 1.2 配置rs1 1.2.1 编写测试页面 1.2.2 手工在RS端绑定VIP、添加路由 1.2.3 抑制arp响应 1.3 配置rs2 1.4 测试 二、配置nginx负载…

Springboot后端通过路径映射获取本机图片资源

项目场景: 项目中对图片的处理与查看是必不可少的,本文将讲解如何通过项目路径来获取到本机电脑的图片资源 如图所示,在我的本机D盘的图片测试文件夹(文件夹名字不要有中文)下有一些图片, 我们要在浏览器上访问到这些图片&#…

Flutter系列文章-实战项目

在本篇文章中,我们将通过一个实际的 Flutter 应用来综合运用最近学到的知识,包括保存到数据库、进行 HTTP 请求等。我们将开发一个简单的天气应用,可以根据用户输入的城市名获取该城市的天气信息,并将用户查询的城市列表保存到本地…