redis介绍与布署

news2025/1/10 12:21:55
  • 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.coloradmin.cn/o/1921827.html

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

相关文章

基于语义的法律问答系统

第一步,准备数据集 第二步,构建索引数据集,问答对数据集,训练数据集,召回评估数据集 第三步,构建dataloader,选择优化器训练模型,之后召回评估 第四步,模型动转静,之后…

改摄像头IQ(目前我知道的功能是看色彩)

1、SrcCode\Dx\580_CARDV_ETHCAM_RX_EVB(每个项目不同找到对应的)\isp.dtsi 将下面路径改成对应镜头的 2、将新的IQ复制到文件夹下code\hdal\vendor\isp\configs\dtsi

Vue3 引入腾讯地图 包含标注简易操作

1. 引入腾讯地图API JavaScript API | 腾讯位置服务 (qq.com) 首先在官网注册账号 并正确获取并配置key后 找到合适的引入方式 本文不涉及版本操作和附加库 据体引入参数参考如下图 具体以链接中官方参数为准标题 在项目根目录 index.html 中 写入如下代码 <!-- 引入腾…

【SQL】如何用SQL写透视表

【背景】 报表中有一大需求是透视表,目前有很多分析类应用也搭载了此类功能,那么我们能不能直接用SQL做透视表呢? 【分析】 BI类软件将透视表功能做在了前端,但是数据本身还是存储在数据库中,所以必然有方法可以用SQL直接实现透视表。 【心法】 透视表是任意选取一个…

【C语言】经典C语言笔试面试题目

01. 请填写bool , float, 指针变量 与“零值”比较的if语句。 提示&#xff1a;这里“零值”可以是0, 0.0 , FALSE 或者“空指针”。 例如 int n 与“零值”比较的 if 语句为&#xff1a; if ( n 0 ) if ( n ! 0 )以此类推。 请写出 bool flag 与“零值”比较的 if 语句&a…

IT运维也有自己的节日 724向日葵IT运维节,三大版本如何选?

“724运维节”&#xff0c;是2016年由开放运维联盟发起倡议&#xff0c;广大运维人员共同投票产生的属于运维人自己的节日。 对于运维人最大的印象&#xff0c;那就是工作都需要7x24小时待命&#xff0c;是名副其实的“日不落骑士”&#xff0c;这也是大家选择724这一天作为运…

2024最新6月泛二级域名秒收泛目录(二级域名泛站群)

5月免费版本无后台 无更新功能不自动引蜘蛛 2024年5月最新泛程序&#xff0c;秒收秒排&#xff01;&#xff08;泛型程序&#xff09; - 虚良SEO博客 新曾功能&#xff1a; 后台管理 蜘蛛统计 域名添加 一键强引蜘蛛 蜘蛛统计 识别真假蜘蛛 全自动引蜘蛛 域名要求 …

viteExternalsPlugin 插件管理外部依赖

viteExternalsPlugin 是一个 Vite 插件&#xff0c;用于将指定的模块或库配置为外部依赖 安装&#xff1a; npm i vite-plugin-externals 1.实战用途 比如从项目 index.html 中引入一些SDK文件&#xff0c;我这个是引入的CHATUI vite.config.js 配置&#xff1a; import {…

OSS存储桶密钥泄露【案例】

OSS存储桶密钥泄露 同样的&#xff0c;在前几天的攻防演练中的经历&#xff0c;本文我们将为OSS存储桶单独做文章 公开配置文件泄露 录屏、截图缺失了。发现这个存储桶密钥是因为我在鹰图对一个能够控制生成类似容器的站点&#xff0c;抓包发现api是另一个子域的站点&#x…

C#变量、常量与运算符

文章目录 变量变量定义命名规则作用域和生命周期 常量特殊字符常量 运算符算术运算符关系运算符逻辑运算符位运算符赋值运算符其他运算符 变量 变量就是一个存储空间的名字&#xff0c;变量是什么类型&#xff0c;这个空间里面存储的就是什么类型的数据。 变量定义 <data_t…

C语言学习记录day3

第三天主要是练习代码编写 一、有序数组元素的查找 顺序法时间复杂度O(n) 二分法时间复杂度O&#xff08;log2n&#xff09; 二、演示多个字符从两端向中间移动汇聚 三、模拟登录密码场景 四、求最大公因数 五、... 剩余更多代码练习已上传至个人github&#xff08;日期1…

SSM学习6:Spring事务

简介 事务作用&#xff1a;在数据层保障一系列的数据库操作同成功同失败Spring事务作用&#xff1a;在数据层或业务层保障一系列的数据库操作同成功同失败 public interface PlatformTransactionManager{void commit(TransactionStatus status) throws TransactionStatus ;vo…

C++第五弹 -- 类与对象(中下) (赋值运算符重载函数 const成员函数 取地址操作符重载函数)

目录 前言一. 赋值运算符重载1. 运算符重载2. 赋值运算符的重载3. 前置 和 后置 重载 二. 日期类的实现三. const成员函数四. 取地址及const取地址操作符重载总结 前言 本文将深入探讨C中的运算符重载&#xff0c;重点讲解赋值运算符、前置/后置运算符、取地址运算符的重载方法…

2024 ACT汽车软件与安全技术周 | 龙智携全方位汽车软件开发解决方案亮相,助力应对汽车软件开发功能安全、合规等挑战

2024年7月18-19日&#xff08;周四-周五&#xff09;&#xff0c;2024第三届ACT汽车软件与安全技术周将在上海佘山翰悦阁酒店举办。 龙智即将携汽车开发及管理解决方案创新亮相&#xff0c;并在汽车信息安全技术峰会主会场上发表主题演讲&#xff0c;分享推动汽车软件开发与功…

RAG实践:ES混合搜索BM25+kNN(cosine)

1 缘起 最近在研究与应用混合搜索&#xff0c; 存储介质为ES&#xff0c;ES作为大佬牌数据库&#xff0c; 非常友好地支持关键词检索和向量检索&#xff0c; 当然&#xff0c;支持混合检索&#xff08;关键词检索向量检索&#xff09;&#xff0c; 是提升LLM响应质量RAG(Retri…

【JS|第21期】JavaScript模块化:深入解析三种文件暴露方式

日期:2024年7月6日 作者:Commas 签名:(ง •_•)ง 积跬步以致千里,积小流以成江海…… 注释:如果您觉得有所帮助,帮忙点个赞,也可以关注我,我们一起成长;如果有不对的地方,还望各位大佬不吝赐教,谢谢^ - ^ 1.01365 = 37.7834;0.99365 = 0.0255 1.02365 = 1377.4083…

Portainer工具

Portainer是一款免费、开源的Docker的图形化管理工具&#xff0c;其能够提供状态显示面板、应用模板快速部署、容器镜像网络数据卷的基本操作&#xff08;包括上传下载镜像&#xff0c;创建容器等操作&#xff09;、事件日志显示、容器控制台操作、Swarm集群和服务等集中管理和…

ST Smart Things Sentinel:一款针对复杂IoT协议的威胁检测工具

关于ST Smart Things Sentinel ST Smart Things Sentinel&#xff0c;简称ST&#xff0c;是一款功能强大的安全工具&#xff0c;广大研究人员可以使用该工具检测物联网 (IoT) 设备使用的复杂协议中的安全威胁。 在不断发展的联网设备领域&#xff0c;ST Smart Things Sentinel…

揭秘反向沙箱:企业网络安全的终极防线

通常&#xff0c;我们讨论的沙箱环境分为正向沙箱和反向沙箱。那么什么正向沙盒反向沙盒到底是什么呢&#xff1f; 正向沙箱通常用于分析来自外部的未知文件、电子邮件附件、网页内容等&#xff0c;以检测其中是否包含恶意软件或有害代码。这种沙箱通常位于企业的防火墙之外&am…

鸿蒙next 下拉刷新上来加载 来了 我不允许你不会

前言 各位同学大家好, 有段时间没有给大家更新文章了 ,最近在开发 鸿蒙next中 有用到这个下拉刷新和上来加载的功能就准备写个文章分享一下 那么废话不多说 我们正式开始: 效果图 准备工作: 找到我们DevEco studio 的安装位置 找到我们ohpm 的bin目录 配置在环境变了中 …