redis介绍与布署

  • redis

    • remote dictionary server(远程字典服务器)

      • 是一个开源的,使用c语言编写的非关系型数据库,支持内存运行并持久化,采用key-value的存储形式。

      • 单进程模型意味着可以在一台服务器上启动多个redis进程,redis处理速度依赖于主进程的执行效率,意味着多个redis进程会增加处理效率,但是对cup的压力就会比较大,需要根据需要来决定redis的进程数量。多进程适合高并发的处理

      • 优点:

        • 极高的读写速度

        • 支持多种数据类型

        • 数据的持久化

        • 原子性:要么都执行,要么都不执行

        • 支持数据备份(主备结构备份)

      • 安装部署

        • 用阿里提供的版本较低,3.2

        • 去官网下载,https://www.redis.io

          • 下载相应的较高的版本,本案例以4.0.9为例

        • 准备前奏

          • 添加防火墙策略,关闭内核安全机制

          • 安装编译依赖包

            • gcc* zlib-devel

        • 解压安装

          • redis是直接配置好的程序,需要配置,值得一提的是需要在安装这一步指定路径前缀来确定安装位置。

        • 初始化

          • 在解压目录下的utils目录下会有一个初始化工具,源码包安装的数据库一般要经过初始化才能进行使用,
            • 标识1:指定redis进程端口,可以设置不同的端口来开启多个redis进程。

            • 标识2:指定配置文件的位置及名称。一般与端口对应。

            • 标识3:日志文件名称,也与端口保持一致

            • 标识4:对于redis来说持久化需要有对应的文件来保存数据,该项就是指定该文件的位置。

            • 标识5:指定redis的命令路径。

            • 建议在初始化时先优化命令路径,避免最后一项出现空需要手动指定。

          • 初始化完毕后进程就开始运行了,可以查看进程来确定。

            • netstat -anpt | grep redis

        • 配置参数的优化

          • 查找bind修改监听地址

            • 需要注意的是只能有一个bind,监听地址需要写在后面。

              • 例:bind 127.0.0.1 192.168.10.101

          • 查找port可以修改端口

            • port 6379

          • 查找daemon来决定是否以守护进程方式运行

            • daemonize yes

          • 查找loglevel可以修改记录日志的级别

            • 默认是notice

          • 查找pidfile可以看pid文件存放位置。

        • 服务控制脚本

          • /etc/init.d/redis_6379

            • 利用该脚本可以进行重启关闭等操作。可以做软链接方便操作。

        • redis工具

          • redis-server

            • 启动redis的工具

          • redis-benchmark

            • 检测本机redis运行效率的工具,redis自带

              • 常用的-c + -n 测试并发连接性能

              • -q -d 测试存取性能,测试完毕后退出

              • -t 测试某个命令可以测试多个用“,“分隔,-n 测试数量 -q 测试完退出

          • redis-check-aof

            • 修复aof持久化文件

          • redis-check-rdb

            • 修复rdb持久化文件

          • redis-cli

            • 命令行工具

              • 利用该工具可以进入到redis命令行模式,
              • 远程连接

                • -h 指定IP地址

                • -p 指定端口

              • help 获取帮助

        • redis常用命令

          • 存放数据

            • set 键 值

          • 获取数据

            • get 键 值

          • 查看所有键

            • keys *

            • 支持正则表达式

              • 例查看以v开头的:v*

              • 例查看固定未知数的v??,一个”?“代表一个未知

          • 判断键值是否存在

            • exists 键

              • 返回值为1代表存在。0为不存在

          • 删除键

            • del 键

          • 查看键类型

            • type 键

              • redis数据类型

                • String:最简单的类型,就是普通的set和get,作key value缓存。 

                • Hash:类似map的一种结构,一般就是可以将结构化的数据,比如一个对象给缓存在redis里

                • List:List是有序列表,可以通过list存储一些列表型的数据结构,类似粉丝列表、文章的评论列表之类的东西

                • Set:Set是无序集合,自动去重。

                • Sorted Set:Sorted Set是排序的set,去重但可以排序,写进去的时候给一个分数,自动根据分数排序

          • 重命名键

            • rename

            • renamenx

              • 建议使用该方式,该命令在重命名时会检测新名是否存在,避免被覆盖的可能。

          • dbsize

            • 查看当前库键数

          • 数据库之间切换

            • 默认redis库有16个范围0~15

            • select 库名

          • 数据库之间数据转移

            • move 键 库名

          • 清除数据

            • 当前库

              • flushdb

            • 所有库

              • flushall

        • redis持久化

          • rdb

            • 生成快照保存到磁盘内,下次启动将数据重新读到内存内。

            • 优点:占用资源少,对磁盘i/o压力小

            • 缺点:会造成数据的不一致性

            • 异步(半持久模式)

          • aof

            • 创建日志,将命令追加到日志末尾

            • 优点:数据一致性高

            • 缺点:占用资源较多,对磁盘i/o压力大

            • 同步(全持久化模式)

          • 选择参考依据

            • 性能较好,或对数据一致性要求较高采用aof

            • 性能差,对数据一致性要求不高采用rdb

          • 如果两者同时存在

            • 如果先开启了aof则会优先采用aof恢复数据

            • 如果先开启了rdb,会先恢复rdb数据,然后在恢复aof数据,并且aof会覆盖掉rdb的数据

          • 持久化配置修改

            • 在配置文件

              • 6379.conf

                • rdb持久化配置

                  • 查找save

                    • 分别表示,在900秒内有一个键做变动做一次快照,在300秒内有10个键做变动则做一次快照,在60秒内,有一万个键做变动就做一次快照。满足以上任意一个条件均作快照。
                  • 查找rdb

                    • 显示快照文件名称
                    • 在下方指明快照文件位置。

                    • 在附近可以看到该选项决定快照是否压缩,默认开启。

                • aof持久化配置

                  • 查找append

                    • 三种同步方式:
                    • always,每次发生变化立马写入磁盘

                    • everysec :每秒做一次快照。

                    • no:不做同步,交给其他程序决定如何同步。

                    • 第一行决定了aof模式是否开启

                    • 第二行决定了aof文件的名称

                  • aof运作机制的原因可能会造成冗余命令,在命令行输入该语句

                    • bgrewriteaof

                      • 重写操作可以在特定条件下自动去除冗余的命令

                    • 需要注意采用该策略需要将

                      • no-appendfsync-on-rewrite no 设置位no

                      • 该语句表示新写操作不同步

                    • aof比上次重写增长的比例,100为两倍

                • 性能管理

                  • redis-cli

                    • info memory

                      • 查看redis程序使用内存的大小。

                    • 回收策略

                      • 配置文件

                      • 命令行

                        • expire 键 过期时间

                      • 默认回收最近使用少的键而不是存在时间最久的键

                • 密码管理

                  • 永久设置

                    • 查找requirepass

                      • 默认注释,后面可以跟密码

                  • 临时设置

                    • 命令行

                      • config set requirepass 密码

                      • 设置密码后会造成原有数据丢失

                  • 连接方法

                    • redis-cli -a 密码

                    • 命令行

                      • auth 密码

                    • redis-cli -a 密码 shutdown

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

利用js实现图片压缩功能

图片压缩在众多应用场景中扮演着至关重要的角色,尤其是在客户端上传图片时。原始图片往往体积庞大,直接上传不仅消耗大量带宽资源,还可能导致上传速度缓慢,严重影响用户体验。因此,在图片上传至服务器前对其进行压缩处…

uni-app iOS上架相关App store App store connect 云打包有次数限制

相册权限 uni-app云打包免费有次数 切换一个账号继续

[人工智能]对未来建筑行业的影响

作者主页: 知孤云出岫 目录 引言1. 人工智能在建筑行业的应用场景1.1 设计阶段1.2 施工阶段1.3 运营和管理 2. 关键技术2.1 机器学习2.2 计算机视觉2.3 自然语言处理2.4 大数据分析 3. 实际案例分析3.1 案例1:利用GAN生成建筑设计方案3.2 案例2:利用计算…

实验03 黑盒测试方法(因果图、决策表)

知识点 决策表法 决策表概念:一种分析多逻辑条件下不同操作的工具。在所有的黑盒测试方法中,基于决策表(也称判定表)的测试是最为严格、最具有逻辑性的测试方法。优点:能够全面列举所有可能情况,避免遗漏…

Qt项目中添加自定义文件夹,进行整理归类

Qt项目中添加文件夹进行归类 1、在windows的工程目录下创建一个文件夹,如widgets 2、将.h 、.cpp、.ui文件拷贝到windows该文件夹widgets 3、在qt工程中,根目录右键,选择添加现有文件,批量选择 .h 、.cpp、.ui文件之后&#xf…

[数字图像处理]基础知识整理(部分,持续更新)

程序中描述一副图像,已知其横向纵向的像素个数即可() 灰度直方图能反映一副图像各个灰度级像素占图像的面积比(√) 从程序编写的角度看,描述一副图像的基本属性通常包括其分辨率,即图像的宽度…

1、项目目录设计

文章目录 前言一、项目目录设计 前言 本项目我们将会完成一个Go项目开发框架,该项目不会包含具体的CRUD业务代码,而是从头搭建一个工作中实用的开发框架。让开发者能够熟悉整个项目的搭建流程,能够独立完成项目从0到1的搭建,而且…

数据结构实操代码题~考研

作者主页: 知孤云出岫 目录 数据结构实操代码题题目一:实现栈(Stack)题目二:实现队列(Queue)题目三:实现二叉搜索树(BST)题目四:实现链表(Linked…

LayoutLMv2:视觉丰富文档理解的多模态预训练

文本和布局的预训练由于其有效的模型架构和大规模未标记扫描/数字出生文档的优势,在各种视觉丰富的文档理解任务中被证明是有效的。我们提出了具有新的预训练任务的LayoutLMv2架构,以在单个多模态框架中对文本、布局和图像之间的交互进行建模。具体而言&…

网络编程学习之tcp

按下*(星号)可以搜索当前光标下的单词。 Tcp编程的过程 打开网络设备 Bind:给服务地址把ip号和端口号连接进去 Tcp是有状态的 Listen是进入监听状态,看有没有客户端来连接服务器 Tcp比udp消耗过多资源 Upd类似于半双工&#…

Qt图形与图片(Qt位置相关函数、Qt基础图形的绘制、双缓冲机制、显示SVG格式图片)

此篇文章介绍几种主要位置函数及其之间的区别,以及各种与位置相关函数的使用场合;然后,通过一个简单绘图工具实例,介绍利用QPainter和QPainterPath两种方法绘制各种基础图形;最后,通过几个实例介绍如何利用…

Golang | Leetcode Golang题解之第230题二叉搜索树中第K小的元素

题目: 题解: type MyBst struct {root *TreeNodenodeNum map[*TreeNode]int // 统计以每个结点为根结点的子树的结点数,并存储在哈希表中 }// 统计以 node 为根结点的子树的结点数 func (t *MyBst) countNodeNum(node *TreeNode) int {if…

达梦数据库dm8安装步骤及迁移

目录 前言: 一、安装部署 1、下载 2、创建用户及安装目录 3、挂载下载的镜像 4、环境配置 5、安装 二、基本使用 1、DM工具使用 2、兼容性配置 2.1 兼容GBK字符集编码 2.2 兼容UTF-8字符集编码 3、创建用户和密码,表空间 4、整理数据库配置 5、启动脚本设置 …

基于YOLOV8的数粒机视觉计数解决方案

一:行业背景调查 随着全球市场商品大规模工业化生产技术的大规模发展,其中对各类产品生产包装以及原材料供给有了更多精准计数的要求,这些要求主要分布在一些产量较大,产品颗粒较小,单个成本较高的商品中,近几年主要从医药包装领域和接插件包装领域开始对产品包装中的计…

ENSP实现防火墙区域策略与用户管理

目录 实验拓扑与要求​编辑 交换机与防火墙接口的配置 交换机: 创建vlan 接口配置 防火墙配置及接口配置 防火墙IP地址配置 云配置​编辑​编辑​编辑 在浏览器上使用https协议登陆防火墙,并操作 访问网址:https://192.168.100.1:844…

弥合人类与人工智能的知识差距:AlphaZero 中的概念发现和迁移(1)

文章目录 一、摘要二、简介三、相关工作3.1 基于概念的解释3.2 强化学习中生成解释3.3 国际象棋与人工智能 四、什么是概念?五、发掘概念5.1 挖掘概念向量5.1.1 静态概念的概念约束5.1.2 动态概念的概念约束 5.2 过滤概念 一、摘要 人工智能(AI&#xff…

2023年全国大学生电子信息竞赛E题——自动追踪系统(stm32和openmv+普通舵机)完美解决第四问

当时做的时候,当时看别人开源的23年的题,感觉一头雾水。两个字没思路。确实只有做了才会有思路。我这里清晰的整理出来思路。 1.第一问的复位问题就是写一个函数,如果按键按下,就进入,再按下就退出 当然这个复位是写死…

git提交大文件服务500

错误如图 需保证git服务端能接收大文件 修改项目下.git文件中的config文件,加入 [http] postBuffer 524288000

Mybatis——增删改查

目录 一、准备工作 二、mybatis——新增 三、mybatis——删除 四、mybatis——更新 五、mybatis——查询 六、XML映射文件 一、准备工作 1.准备一个数据库表 2.创建一个新的springboot工程,选择引入对应的起步依赖(Mybatis、mybatis等&#xff09…

C:数据结构---算法

1.1排序算法 稳定排序 不稳定排序 ①冒泡排序(稳定) 比较相邻的元素。如果第一个比第二个大,就交换他们两个。对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对 ②选择排序 在未排序序列中找到最小(大…