【java EE】Redis基础

news2024/11/14 20:39:50

Redis基础

业务中会遇到的问题:

  • 数据
  • 数据模式的不确定性
  • 数据的频繁读
  • 数据的频繁更改
  • 大量数据的统计分析

集中数据库的特点
在这里插入图片描述

Redis简介:

  • Redis(Remote Dictionary Server)是一个使用ANSI C语言编写的开源数据库
  • 高性能的 key-value数据库
  • 内存数据库,支持数据持久化
  • 提供了Java,C/C++,C#,PHP,JavaScript,Perl,Object-C,Python,Ruby,Erlang等客户端

Redis数据类型:
Keys:非二进制安全的字符类型
Values:
string:最基本的数据类型,二进制安全的字符串,最大512M。
list:按照添加顺序保持顺序的字符串列表。
set:无序的字符串集合,不存在重复的元素。
sorted set:已排序的字符串集合。
hash:key-value对的一种集合。
bitmap:更细化的一种操作,以bit为单位。
hyperloglog:基于概率的数据结构。 # 2.8.9新增
Geo:地理位置信息储存起来, 并对这些信息进行操作 # 3.2新增
流(Stream):# 5.0新增

Redis的优点

  • 操作简单。相比关系数据库在安装以及CRUD方面便捷。
  • 性能极高 – Redis能读的速度是110000次/s,写的速度是81000次/s 。
  • 丰富的数据类型 – Redis支持二进制案例的 strings, lists, hashes, sets 及 sorted sets 数据类型操作。
  • 原子 – Redis的所有操作都是原子性的,同时Redis还支持对几个操作合并后的原子性执行。
    丰富的特性 – Redis还支持 publish/subscribe, 通知, 主从复制等特性。

Redis持久化操作
RDB(Redis DataBase):快照持久化,存储数据结果,关注点在数据
AOF(Append Only File):存储操作过程,关注点在数据的操作过程

CAP定理
一致性(C):在分布式系统中的所有数据备份,在同一时刻是否同样的值。(等同于所有节点访问同一份最新的数据副本)
可用性(A):保证每个请求不管成功或者失败都有响应。
分区容忍性(P):系统中任意信息的丢失或失败不会影响系统的继续运作。
在这里插入图片描述

数据一致性:

  • 强一致性(线性一致性):复制是同步的
  • 弱一致性:复制是异步的。数据更新后,如果能容忍后续的访问只能访问到部分或者全部访问不到,则是弱一致性
  • 最终一致性:不保证在任意时刻任意节点上的同一份数据都是相同的,但是随着时间的迁移,不同节点上的同一份数据总是在向趋同的方向变化。属于弱一致性

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

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

相关文章

解密Web自动化测试:你需要了解的四大难点

B站首推!2023最详细自动化测试合集,小白皆可掌握,让测试变得简单、快捷、可靠https://www.bilibili.com/video/BV1ua4y1V7Db 目录 前言 问题1:测试稳定性 问题2:测试可维护性 问题3:测试性能 问题4&am…

阿里熔断限流框架Sentinel实现流程和动态规则数据源

文章目录 1.简单介绍2.使用示例3.主要实现原理和组成部分4.动态规则数据源 本篇文章主要介绍熔断限流框架Sentinel的使用示例、组成原理和动态规则数据源的实现原理。 1.简单介绍 阿里的熔断限流框架Sentinel基于滑动时间窗口实现熔断限流管控的,支持多样的管控场景…

PHP 基础入门

目录 1、标记 2、注释 3、输出语句 4、关键字 5、常量的定义与使用 6、预定义常量 7、变量的赋值&#xff08;传参赋值与引用赋值&#xff09; 8、可变变量 9、双引号和单引号的区别 10、heredoc结构和nowdoc结构 11、其他符号 1、标记 <?php 和 ?> 是PHP标…

【MySQL】EXPLAIN 语句 各字段 详解

EXPLAIN 语句 概貌 在连接查询的执行计划中&#xff1a; 每个表都会对应一条记录&#xff0c;这些记录的 id 列的值是相同的&#xff1b; 在包含子查询的执行计划中 &#xff1a;每个 select关键字都会对应一个唯一的 id 值。 驱动表&#xff1a;出现在前面的表&#xff1b; …

Apache ECharts 一个基于 JavaScript 的开源可视化图表库

一&#xff1a; ECharts 特性 ECharts&#xff0c;一个使用 JavaScript 实现的开源可视化库&#xff0c;可以流畅的运行在 PC 和移动设备上&#xff0c;兼容当前绝大部分浏览器&#xff08;IE9/10/11&#xff0c;Chrome&#xff0c;Firefox&#xff0c;Safari等&#xff09;&a…

谷歌正在向所有账户推出密码终止技术

谷歌宣布让其个人帐户持有人使用称为“密码”的密码替代登录的一项重大努力。 该功能面向公司的数十亿帐户推出&#xff0c;用户将能够主动寻找并启用它。谷歌表示&#xff0c;它计划在未来几个月推广密码&#xff0c;并开始推动账户持有人将他们传统的用户名和密码登录转换为…

vscode 远程开发:免密登入设置

文章目录 1. vscode 安装2. vscode 插件安装&#xff08;1&#xff09; 中文界面设置&#xff08;2&#xff09; ssh远程插件安装 3. 免密登入 1. vscode 安装 vscode 官网下载地址&#xff1a;https://code.visualstudio.com/ 安装很简单&#xff1a; 可以默认方式&#xff0…

新建一台VMware虚拟机

文章目录 前言一、问题二、步骤1.确认已安装VMware Workstation&#xff0c;已下载Windows 10 光盘镜像2.新建虚拟机pc13.自定义虚拟机pc1的硬件 总结 前言 新建一台VMware虚拟机。 一、问题 本例要求在VMware Workstation软件中创建一台新虚拟机&#xff0c;相关说明如下。 …

Go语言字符串基础

目录 字符串基础 合并和分割字符串 分割 合并 判断是否包含 strings.Contains() 查找子串出现的位置 strings.Index() strings.LastIndex() 字符串基础 1.字符串是由一串Unicode字符组成的序列&#xff0c;每个Unicode字符都占用一个或多个字节的存储空间。 2.字符串…

【腾讯云 Finops Crane 集训营】老板喜欢降本增效?学会 Crane,让腾讯每月省千万的奇迹在你手中上演

❤️作者主页&#xff1a;小虚竹 ❤️作者简介&#xff1a;大家好,我是小虚竹。2022年度博客之星评选TOP 10&#x1f3c6;&#xff0c;Java领域优质创作者&#x1f3c6;&#xff0c;CSDN博客专家&#x1f3c6;&#xff0c;华为云享专家&#x1f3c6;&#xff0c;掘金年度人气作…

SpringBoot 简单多模块构建

前言 SpringBoot系列到现在虽然代码不多&#xff0c;但是感觉结构很乱&#xff0c;随着项目的复杂性提高&#xff0c;代码会越来越臃肿&#xff0c;耦合性高。 所以SpringBoot多模块很有必要&#xff0c;简单来说就是由以前按包分模块变为jar包分模块。在多模块jar模式下可以将…

【勝讯云 Finops Crane 集训营】之集群优化实战

重要通知 由腾讯云联合 CSDN 推出的“腾讯云 Finops Crane 开发者集训营”活动&#xff0c;主要面向广大开发者&#xff0c;旨在通过线上直播、组织动手实验、有奖征文&#xff0c;开源项目贡献者招募这一系列技术实践活动中既能通过活动对 Finops Crane 开源项目有一个深入的]…

mathtype不激活能用吗 mathtype产品密钥如何取得

在文档中输入数学式子时一般会用到mathtype&#xff0c;虽然mathtype为广大用户提供了一定期限的试用期&#xff0c;但试用期后如果没有成为正式用户&#xff0c;那么部分功能可能就用不了了。有些小伙伴可能会对mathtype不激活能用吗&#xff0c;mathtype产品密钥如何取得这两…

PostGIS五分钟入门【空间数据库】

在本文中&#xff0c;我们将介绍 PostGIS 的一些基础知识及其功能&#xff0c;以及一些可用于简化解决方案或提高性能的提示和技巧。 推荐&#xff1a;用 NSDT设计器 快速搭建可编程3D场景。 简而言之 - PostGIS 是一个 Postgres 扩展&#xff0c;增加了对存储和操作空间数据类…

PyQt5桌面应用开发(11):摸鱼也要讲基本法之桌面精灵

本文目录 PyQt5桌面应用系列鼠标不要钱&#xff0c;手腕还不要钱吗&#xff1f;PyQt5源程序python文件资源定义界面定义文件 技术要素资源文件StyleSheetsQMainWindow设置窗体几何 结论 PyQt5桌面应用系列 PyQt5桌面应用开发&#xff08;1&#xff09;&#xff1a;需求分析 PyQ…

orbslam3 编译时 Thirdparty sophus 库多种错误 redefinition, not declared in this scope

问题 在装了 ROS 的机器人系统里编译 orbslam3 时, 发现 Thirdparty sophus 库密集报错, 导致 orbslam3 无法完成编译 排查 同样的代码在装了 ROS 的笔记本 ubuntu18.04 系统里可以成功通过编译, 但是在装了同版本 ROS 的机器人 ubuntu18.04 系统里无法编译 Sophus 库本身…

探秘力扣之谜:如何轻松解决最长公共前缀问题?

本篇博客我会讲解力扣中的“14. 最长公共前缀”这道题&#xff0c;这是题目链接。 先来审题&#xff1a; 以下是几个输出示例&#xff1a; 提示&#xff1a; 这道题的思路其实并不难&#xff0c;也是一些字符串的常规操作的结合。大家可以先思考一下&#xff0c;再来听我讲…

TCP和UDP数据报文详解(区别及三次握手四次挥手详解)

总结TCP和UDP详解在后文 相同点&#xff1a; 1.都是传输层协议 2.都是全双工通信 区别&#xff1a; TCPUDP面向连接无连接一对一一对一&#xff0c;一对多&#xff0c;多对多&#xff0c;多对一(单播&#xff0c;多播&#xff0c;广播)可靠不保证可靠交付面向字节流面向报…

java变量与方法

方法 构造方法 定义&#xff1a;构造方法是一个特殊的成员方法&#xff0c;名字必须与类相同&#xff0c;在创建对象时由编译器自动调用&#xff0c;并且在生命周期内只调用一次 演示&#xff1a; 特性&#xff1a; 1.构造方法名字必须与类名相同&#xff08;如果不同&#…

Ajax XML

文章目录 AJAX XML 实例AJAX XML 实例实例解析 loadXMLDoc() 函数AJAX 服务器页面 AJAX XML 实例 AJAX 可用来与 XML 文件进行交互式通信。 AJAX XML 实例 下面的例子将演示网页如何使用 AJAX 来读取来自 XML 文件的信息&#xff1a; 代码部分 <!DOCTYPE html> <h…