Redis学习笔记(三)

news2024/12/26 22:58:38
  • Jedis

    • java语言连接redis工具
    • 准备工作
      • 下载地址:https://mvnrepository.com/artifact/redis.clients/jedis
      • 基于maven
        • <dependency>
          • <groupId> redis.clients</groupId>
          • <artifactId>jedis</artifactId>
          • <version>2.9.0</version>
        • </dependency>
    • 客户端连接redis
      • 连接redis
        • Jedis jedis = new Jedis("localhost", 6379);
      • 操作redis
        • jedis.set("name", "fan2312");
        • jedis.get("name");
      • 关闭redis连接
        • jedis.close()
    • Jedis工具类
      • redis.properties
      redis.host = 127.0.0.1
      redis.port = 6379
      redis.maxTotal = 30
      redis.maxIdle = 10
      
      • 代码
      public class JedisUtils{
      	private JedisPool jp;
      	static{
      		ResourceBundle rb = ResourceBundle.getBundle("jedis");
      		String host = rb.getString("jedis.host");
      		int port = Integer.parseInt(rb.getString("jedis.port"));
      		int maxTotal = Integer.parseInt(rb.getString("jedis.maxTotal"));
      		int maxIdle = Integer.parseInt(rb.getString("jedis.maxIdle"));
      		JedisPoolConfig jpc = new JedisPoolConfig();
      		jpc.setMaxTotal(maxTotal );
      		jpc.setMaxIdle(maxIdle );
      		jp = new JedisPool(jpc, host, port);
      	}
      	public static Jedis getJedis(){
      		return jp.getResource();
      	}
      	public static void main(){
      		JedisUtils.getJedis();
      	}
      }
      
  • 可视化客户端

    • Redis Desktop Manager
  • 基于Linux安装Redis

    • 下载安装包:wget https://download.redis.io/releases/redis-?.?.?.tar.gz
    • 解压:tar -xvf 文件名.tar.gz
    • 编译:make
    • 安装:make install
  • 指定端口启动服务:

    • redis-server --port 6380
    • redis-cli -p 6380
  • 指定配置文件启动

    • 配置文件
    port 6379
    daemonize yes
    logfile "6379.log"
    dir /redis-4.0.0/data
    
    • 启动:redis-server redis-6379.conf
  • 持久化

    • 利用永久性存储介质保存数据
    • 为什么要进行持久化?
      • 防止数据的意外丢失,确保数据安全性
    • 持久化过程保存什么
      • RDB:将当前数据状态进行保存,快照形式,存储数据结果,存储格式简单,关注点在数据
      • AOF:将数据的操作过程进行保存,日志形式,存储操作过程,存储格式复杂,关注点在数据的操作过程
    • RDB启动方式
      • 方式一
        • 命令:save

        • 作用:手动执行一次保存操作

        • 配置文件中相关配置

          • 在这里插入图片描述
        • save指令的执行会阻塞当前redis服务器,直到当前RDB过程完成为止,有可能会造成长时间阻塞,线上环境不建议使用

      • 方式二
        • 命令:bgsave
        • 作用:手动启动后台保存操作,但不是立即执行
        • bgsave是针对save阻塞问题做的优化。redis内部所有涉及到RDB操作都采用bgsave,而不使用save
      • 方式三
        • 配置:save second changes
        • 作用:满足限定时间范围内key的变化数量达到指定数量即进行持久化
        • 参数
          • second:监控时间范围
          • changes:监控key的变化量
        • save配置要根据实际业务情况进行设置,频度过高或过低都会出现性能问题,结果可能是灾难性的
        • save配置中对于second与change设置通常具有互补对应关系,尽量不要设置成包含性关系
        • 启动后执行的是bgsave操作
    • 在这里插入图片描述
    • 在这里插入图片描述
  • AOF

    • 在这里插入图片描述

    • 以独立日志的方式记录每次写命令

    • 是Redis持久化的主流方式

    • AOF写数据的三种策略

      • always(每次)
        • 每次写入操作都同步到AOF文件中,数据零误差,性能较低
      • everysec(每秒)
        • 每秒将缓冲区中的指令同步到AOF文件中,数据准确性较高,性能较高
        • 系统突然宕机会丢失1秒数据
      • no(系统控制)
        • 由操作系统控制每次同步到AOF的周期,整体过程不可控
    • AOF功能开启

      • 配置:appendonly yes|no
        • 是否开启AOF持久化,默认不开启
      • 配置:appendfsync always|everysec|no
        • AOF写数据策略
      • 配置:appendfilename filename
        • AOF持久化文件名,默认为appendonly.aof,建议配置为appendonly-端口号.aof
      • 配置:dir
        • AOF持久化文件保存路径,与RDB持久化文件保持一致即可
    • AOF重写:对同一个数据的若干条命令执行结果转化为最终结果数据对应的指令进行记录

    • AOF重写作用:

      • 降低磁盘占用量,提高磁盘利用率
      • 提高持久化效率,降低持久化写时间,提高IO性能
      • 降低数据恢复用时,提高数据恢复效率
    • AOF重写规则

      • 已超时数据不再写入文件
      • 忽略无效指令,重写时使用进程内数据直接生成,只保留最终数据的写入命令
      • 对同一数据的多条写命令合并成一条命令
    • AOF重写方式

      • 手动重写
        • bgrewriteaof
      • 自动重写(配置)
        • auto-aof-rewrite-min-size size
        • auto-aof-rewrite-percentage percentage
        • 在这里插入图片描述
    • 在这里插入图片描述

    • RDB与AOF选择

      • 对数据敏感,使用AOF
      • 数据呈现阶段有效性,使用RDB

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

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

相关文章

【面试题】面试官:你能自己实现一个async await吗?

开启掘金成长之旅&#xff01;这是我参与「掘金日新计划 12 月更文挑战」的第3天(点击查看活动详情) 相信大家对于Promise都不再陌生了&#xff0c;简易版的Promise对象源码我们也手撕过一次了&#xff0c;那接下来我们聊聊Promise的语法糖async-await&#xff0c;那让我们从…

【JavaWeb】第六章 xml

文章目录1、XML简介2、xml语法3、xml解析4、Dom4j类库的使用5、dom4j解析xml1、XML简介 xml是可扩展的标记性语言&#xff0c;xml的主要作用有&#xff1a; 用来保存数据&#xff0c;而且这些数据具有自我描述性 做为项目或者模块的配置文件做为网络传输数据的格式&#xff0…

QML 如何显示文本?Text可以有多少功能?

目录1.如何显示文本&#xff1f;2. Text有哪些主要功能&#xff1f;2.1 基本属性示例2.2 字重属性2.3 字体样式2.4 字体上标下标支持2.5 富文本2.6 文字换行 缩略1.如何显示文本&#xff1f; Text {font.pixelSize: 20; text: "这是20普通文字"} //一行即可以上代码…

12.2排序

目录 0.做题的失误 1.引用传值和传址 1.斐波那契数列 一.快速排序 1.挖坑法 2.优化 2.1 随机取数法 2.2 三数取中法 2.3把基准值相同的值移到基准旁边 2.4引用直接插入排序 3.Hoare 法: 4.非递归法 5.总结 二,归并排序 1.原理 2.代码实现 3.分析 4.非递归 5…

Git(第一篇)——Git的下载与安装(史上最全最详细)

Git&#xff08;第一篇&#xff09;——Git的下载与安装&#xff08;史上最全最详细&#xff09; 目录Git&#xff08;第一篇&#xff09;——Git的下载与安装&#xff08;史上最全最详细&#xff09;git的下载git的安装git的下载 如果你还没有下载Git&#xff0c;可直接到git…

什么是数据管理能力成熟度评估(DCMM)

GB/T 36073-2018 《数据管理能力成熟度评估模型》&#xff08;Data Management Capability Maturity Assessment Model&#xff0c;简称&#xff1a;DCMM&#xff09;是我国数据管理领域首个国家标准。该标准将组织对象的数据管理划分为八大能力域&#xff08;数据战略、数据治…

【Hbase】第一章——从原理剖析

文章目录1. HBase的实现原理1.1 HBase功能组件1.2 表和Region1.3 Region的定位2. HBase运行机制2.1 HBase系统架构2.2 Region服务器工作原理2.3 Store工作原理2.4 HLog工作原理3. HBase应用方案3.1 HBase实际应用中的性能优化方法3.2 HBase性能监视3.3 在HBase之上构建SQL引擎3…

【图像压缩】DCT图像无损压缩【含GUI Matlab源码 726期】

⛄一、DCT图像无损压缩简介 1 图像压缩 图像压缩按照压缩过程中是否有信息的损失以及解压后与原始图像是否有误差可以分为无损压缩和有损压缩两大类。无损压缩是指不损失图像质量的压缩&#xff0c;它是对文件的存储方式进行优化&#xff0c;采用某种算法表示重复的数据信息&a…

关于Jetpack Compose的初步使用、学习和总结

初步使用和学习ComposeJetpack Compose简要介绍创建一个Jetpack Compose项目自定义组合函数MessageCard通过修饰符&#xff0c;进一步改善布局为什么使用ComposeCompose 与 XML总结与期望Jetpack Compose 简要介绍 根据developers上的介绍&#xff0c;Jetpack Compose 是推荐…

【3D目标检测】Rethinking Pseudo-LiDAR Representation

目录概述细节证明基于伪点云的3D目标检测算法效果好的原因并不是伪点云这种数据表示基于深度图的图像表示的算法PatchNet证明基于伪点云的3D目标检测算法效果好的原因是从图像到点云坐标系转换的过程概述 本文是基于图像的3D目标检测算法。 贡献&#xff1a; 作者认为基于伪点…

开放式运动耳机排行榜,排行靠前的五款高性能耳机分享

智能产品的发展迅猛&#xff0c;作为生活必需品的耳机&#xff0c;更是在不断的更新&#xff0c;尤其是对于运动爱好者而言&#xff0c;以往的入耳式蓝牙耳机存在汗渍入耳等问题。而为了有效解决这一些列问题&#xff0c;新型的骨传导耳机随之诞生了&#xff0c;相比入耳式的蓝…

一定要用Photoshop?no!动手用Python做一个颜色提取器! ⛵

&#x1f4a1; 作者&#xff1a;韩信子ShowMeAI &#x1f4d8; Python3◉技能提升系列&#xff1a;https://www.showmeai.tech/tutorials/56 &#x1f4d8; 计算机视觉实战系列&#xff1a;https://www.showmeai.tech/tutorials/46 &#x1f4d8; 本文地址&#xff1a;https://…

直播 | 数据仓库?数据湖?停止纠结,流批融合的极速 Lakehouse来了!

万物皆数据的时代&#xff0c;各行各业对数据分析架构的要求日益拔高&#xff0c;打破传统的数据湖应需而生。企业得以用更低廉的成本、更完善的 ACID 支持、更实时的方式&#xff0c;导入并存储所有结构化、半结构化和非结构化数据。得益于数据湖良好的伸缩性和灵活性&#xf…

jQuery 安装

网页中添加 jQuery 可以通过多种方法在网页中添加 jQuery。 您可以使用以下方法&#xff1a; 从 jquery.com 下载 jQuery 库从 CDN 中载入 jQuery, 如从 Google 中加载 jQuery下载 jQuery 有两个版本的 jQuery 可供下载&#xff1a; Production version - 用于实际的网站中…

渲染时间过长?这些参数设置学起来

渲染时间 为了契合创作者的需求&#xff0c;V-Ray渲染器近年来迭代迅速&#xff0c;新版本的上线&#xff0c;便利了更多用户。但也有小伙伴在使用后反馈&#xff1a; 我的渲染器明明已经升级到最高版本了&#xff0c;为什么渲染时间还这么慢&#xff1f; 实际上&#xff0c;出…

如何通过一个项目征服Java

Java早已经不是高大山的稀世珍品了&#xff0c;程序员也不再是高科技工作者&#xff0c;而被称为码农 &#xff0c;为什么呢&#xff1f;因为Java后台的很多基础技术都已经固定了&#xff0c;也就是说主要你从头到尾学一遍就能会 &#xff0c;淘宝双十一搞不定&#xff0c;但是…

2022年12月深圳/珠海/佛山/东莞数据分析CPDA认证报名

2022年12月深圳/珠海/佛山/东莞数据分析CPDA认证报名 CPDA数据分析师认证是中国大数据领域有一定权威度的中高端人才认证&#xff0c;它不仅是中国较早大数据专业技术人才认证、更是中国大数据时代先行者&#xff0c;具有广泛的社会认知度和权威性。 无论是地方政府引进人才、…

HAL库(STM32CubeMX)之看门狗学习及实操(STM32F767IGTX)

系列文章目录 HAL库&#xff08;STM32CubeMX&#xff09;——ADC学习总结&#xff08;包含单次/连续模式下的轮询/中断/DMA&#xff09;&#xff08;蓝桥杯STM32G431RBT6&#xff09; HAL库(STM32CubeMX)——DAC学习&#xff08;STM32G431RBT6&#xff09; HAL库(STM32CubeM…

Innodb如何实现表--上篇

Innodb如何实现表--上篇数据是如何被管理起来的表空间段区页行行记录格式Compact记录行格式Redundant行记录格式行溢出数据Compressed和Dynamic行记录格式Char的行存储结构小结数据是如何被管理起来的 从InnoDB存储引擎的逻辑存储结构看&#xff0c;所有数据都被逻辑地存放在一…

[附源码]计算机毕业设计JAVA宿舍管理系统

[附源码]计算机毕业设计JAVA宿舍管理系统 项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis M…