当前位置: 首页 > news >正文

认识redis 及 Ubuntu安装redis

文章目录

  • 一. redis概念
  • 二. redis应用场景
  • 二. redis的特性
  • 四. 使用Ubuntu安装redis

一. redis概念

redis 是在内存中存储数据的中间件, 用在分布式系统

redis是客户端服务器结构的程序, 客户端服务器之间通过网络来通信

二. redis应用场景

  1. redis可用作数据库
    类似MySQL, 但是MySQL的最大的问题, 就是访问速度比较慢
    redis 访问速度快, 但是存储空间是有限的!
    想要又大又快, 可以把redis和MySQL结合起来使用
  2. redis可用作缓存
    二八原则, 存放热点数据
  3. redis 用作session storage
    cookie在客户端存储了用户的身份标识, session存储在应用服务器中
    但是如果有多个应用服务器, 怎么保证能获取到对应用户的session?
    1)想办法让负载均衡器, 把同一个用户的亲够, 始终打到同一个机器上
    2)把session单独拎出来, 放在一组独立的机器上存储(redis)
  4. redis用作"消息中间件"(消息队列)
    redis的初心, 就是用来做消息中间件, 但是目前很少有人这么使用(业界有专业的消息中间件)

二. redis的特性

  1. 在内存中存储数据
    MySQL主要是通过"表"的方式来存储组织数据的, 称为"关系型数据库"
    Redis主要是通过"键值对"的方式来存储组织数据的, 称为"非关系型数据库"
    key都是string
    value 可以是一些数据结构等
  2. 可编程性
    针对Redis的操作, 可以直接通过简单的交互式命令进行操作, 也可以通过一些脚本的方式, 批量执行操作
  3. 可扩展性
    可以在Redis原有的功能基础上, 在进行扩展, 本质上就是一个动态链接库
    (windows上的动态库dll, 可以让exe去代用里面包含的代码, Linux上的动态库 .so , 与dll格式不同, 但本质一样)
  4. 持久化
    Redis把数据存储在内存上, 但会在硬盘上也存储一份, 相当于备份, 系统重启, 内存数据消失, 会加载硬盘中的备份数据, 使Redis的内存恢复到重启前的状态
  5. 支持集群
    一个Redis能存储的数据是有限的(内存空间是有限的), 引入多个主机, 部署多个Redis结点, 每个Redis存储数据的一部分
  6. 高可用
    Redis自身支持"主从"结构, 从结点就相当于主节点的备份

为什么redis快?

  1. Redis数据存储在内存上, 就比访问硬盘的数据库, 要快很多
  2. Redis核心功能都是比较简单的逻辑, 核心功能都是比较简单的操作内存的数据结构
  3. 从网络角度, Redis使用了IO多路复用的方式
  4. Redis使用的是单线程模型, 减少了不必要的线程之间的竞争开销
    (多线程提高效率的前提是, CPU密集型任务, 使用多个线程可以充分利用CPU多核资源, 但是Redis的核心任务, 主要是操作内存的数据结构, 不会吃很多CPU)

四. 使用Ubuntu安装redis

  1. 先切换到root用户

  2. 使用apt命令搜索redis相关软件包
    在这里插入图片描述

  3. 使用apt命令安装redis
    在这里插入图片描述
    在这里插入图片描述
    安装完成后, 自动启动
    在这里插入图片描述

  4. 手动修改配置文件
    找到配置文件
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
5. 重启服务器
在这里插入图片描述
6. 使用redis自带的客户端连接服务器
在这里插入图片描述
ctrl + d 退出redis客户端

相关文章:

认识redis 及 Ubuntu安装redis

文章目录 一. redis概念二. redis应用场景二. redis的特性四. 使用Ubuntu安装redis 一. redis概念 redis 是在内存中存储数据的中间件, 用在分布式系统 redis是客户端服务器结构的程序, 客户端服务器之间通过网络来通信 二. redis应用场景 redis可用作数据库 类似MySQL, 但…...

6.结果处理组件之ResponseHandler

前言 feign发送完请求后, 拿到返回结果, 那么这个返回结果肯定是需要经过框架进一步处理然后再返回到调用者的, 其中ResponseHandler就是用来处理这个返回结果的, 这也是符合正常思维的处理方式, 例如springmvc部分在调用在controller端点前后都会增加扩展点。 从图中可以看得…...

【C#】调用外部应用

以WINFORM应用程序为例,在C#应用程序中调用PYTHON程序(Matplotlib绘制图形程序),将调用PYTHON程序生成的窗口程序嵌入在WINFORM窗口中 窗口程序类 using System; using System.Collections.Generic; using System.Data; using S…...

JavaWeb--JDBC

JDBC(Java Database Connectivity,Java数据库连接)是一种Java API,可以让Java程序连接到数据库并进行数据的操作。它是Java平台的一部分,由Sun Microsystems(现为Oracle Corporation的一部分)开…...

神经网络归一化方法总结

在深度学习中,归一化 是提高训练效率和稳定性的关键技术。以下是几种常见的神经网络归一化方法的总结,包括其核心思想、适用场景及优缺点。 四种归一化 特性Batch NormalizationGroup NormalizationLayer NormalizationInstance Normalization计算维度…...

Debian/Ubuntu 、Fedora 、Arch Linux, 在Linux上,对文本文件进行多线程压缩 xz、pxz、zstd、7z、lrzip

Debian/Ubuntu 、Fedora 、Arch Linux, 在Linux上,对文本文件进行多线程压缩 xz、pxz、zstd、7z、lrzip 前言对比多线程压缩1. 使用 pxz安装 pxz使用 pxz 2. 使用 xz 的 -T 选项使用 xz -T 3. 其他压缩命令1. 使用 gzip2. 使用 bzip23. 使用 xz4. 使用 7…...

前端使用fontfaceobserver库实现字体设置

要使用FontFaceObserver来加载设置项目本地的字体,先确保字体文件位于项目中或者可以从服务端获取到,这样就可以使用FontFaceObserver来检测并加载这些字体 主要有以下几步: npm或者yarn安装引入fontfaceobserver字体资源引入和font-face配置…...

SSM--SpringMVC复习(二)

请求 URL匹配: RequestMapping RequestMapping 负责将请求映射到对应的控制器方法上。 RequestMapping 注解可用于类或方法上。用于类上,表示类中的所有响应请求的方法都以该地址作为父路径。 在整个 Web 项目中,RequestMapping 映射的请求…...

Oracle 11gR2 坏块修复实例一则

背景 前段时间在 Oracle 11gR2 数据库中发现了坏块问题。环境是 64 位 Linux 平台。本文将详细介绍如何使用 DBMS_REPAIR 进行在线修复,当然也可以基于备份和 RMAN 的修复方法这里暂时不做介绍。 发现坏块 1. 从 alert.log 中发现错误 在 alert.log 文件中发现了…...

使用 Docker Compose 来编排部署LMTNR项目

使用 Docker Compose 来部署一个包含 Linux、MySQL、Tomcat、Nginx 和 Redis 的完整项目的例子。假设我们要部署一个简单的 Java Web 应用,并且使用 Nginx 作为反向代理服务器。 项目目录结构 首先需要确保 Docker 和docker-compose已经安装并正在运行。docker --v…...

el-table 根据屏幕大小 动态调整max-height 的值

<template><div><p>窗口高度&#xff1a;{{ windowHeight }} px</p></div> </template><script> export default {data() {return {// 下面的 -250 表示减去一些表单元素高度 这个值需要自己手动调整windowHeight: document.docume…...

el-cascader 使用笔记

1.效果 2.官网 https://element.eleme.cn/#/zh-CN/component/cascader 3.动态加载&#xff08;官网&#xff09; <el-cascader :props"props"></el-cascader><script>let id 0;export default {data() {return {props: {lazy: true,lazyLoad (…...

Cookie概念和API

Cookie概念 Cookie在HTTP中它表示服务器送给客户端浏览器的小甜点。其实Cookie就是一个键和一个值构成的&#xff0c;随着服务器端的响应发送给客户端浏览器。然后客户端浏览器会把Cookie保存起来&#xff0c;当下一次再访问服务器时把Cookie再发送给服务器。 Cookie是由服务器…...

Linux服务器安装mongodb

因为项目需要做评论功能&#xff0c;领导要求使用mongodb&#xff0c;所以趁机多学习一下。 在服务器我们使用docker安装mongodb 1、拉取mongodb镜像 docker pull mongo &#xff08;默认拉取最新的镜像&#xff09; 如果你想指定版本可以这样 docker pull mongo:4.4&#…...

32.4 prometheus存储磁盘数据结构和存储参数

本节重点介绍 : prometheus存储磁盘数据结构介绍 indexchunkshead chunksTombstoneswal prometheus对block进行定时压实 compactprometheus 查看支持的存储参数 prometheus存储示意图 内存和disk之间的纽带 wal WAL目录中包含了多个连续编号的且大小为128M的文件&#xff0c…...

两个生活中的例子反向理解正/反向代理?

正向代理 场景&#xff1a;你在学校里想访问一个被限制的网站&#xff0c;比如某个社交媒体平台。 操作方式&#xff1a; 你把访问请求发送给学校的代理服务器&#xff08;正向代理&#xff09;。代理服务器代表你向互联网发出请求&#xff0c;去访问那个受限的网站。网站的响…...

数据结构-线性表

数据结构-线性表 线性表的任意元素存放地址&#xff1a;Ai a1 L *(i-1) 当i0 则 Aia0L*i 少了一次计算 按照计算方法&#xff0c;当下标为0&#xff0c;可以少执行一次减法&#xff0c;这也是c数组下标取0的原因。 无论n多大都是一个固定时间称之为O(1) 时间复杂度 顺序表的运…...

Python酷库之旅-第三方库Pandas(245)

目录 一、用法精讲 1156、pandas.tseries.offsets.MonthEnd.is_month_start方法 1156-1、语法 1156-2、参数 1156-3、功能 1156-4、返回值 1156-5、说明 1156-6、用法 1156-6-1、数据准备 1156-6-2、代码示例 1156-6-3、结果输出 1157、pandas.tseries.offsets.Mon…...

贵阳思普信息技术有限公司 OA系统 apilogin 接口存在SQL注入漏洞风险

免责声明: 本文旨在提供有关特定漏洞的深入信息,帮助用户充分了解潜在的安全风险。发布此信息的目的在于提升网络安全意识和推动技术进步,未经授权访问系统、网络或应用程序,可能会导致法律责任或严重后果。因此,作者不对读者基于本文内容所采取的任何行为承担责任。读者在…...

重学 Android 自定义 View 系列(九):侧边字母选择器

前言 本文来实现一个侧边字母选择器&#xff0c;很常见的一个控件&#xff0c;和上篇文章星星评分用到的关键技术点类似&#xff0c;难度不大&#xff0c;本篇再来温故知新一下。 最终效果如下&#xff1a; 1. 效果分析 每个字母被均匀分布在整个控件区域中&#xff1b;触摸…...

网络原理->DNS协议和NAT协议解

前言 大家好我是小帅&#xff0c;今天我们来了解应用层的DNS协议和NAT技术 个人主页&#xff1a;再无B&#xff5e;U&#xff5e;G 文章目录 1.重要应⽤层协议DNS(Domain Name System)1.1 DNS背景 2. NAT技术3. 总结 1.重要应⽤层协议DNS(Domain Name System) DNS是⼀整套从域…...

亚马逊开发视频人工智能模型,The Information 报道

根据《The Information》周三的报道&#xff0c;电子商务巨头亚马逊&#xff08;AMZN&#xff09;已开发出一种新的生成式人工智能&#xff08;AI&#xff09;&#xff0c;不仅能处理文本&#xff0c;还能处理图片和视频&#xff0c;从而减少对人工智能初创公司Anthropic的依赖…...

【JS】React与Vue的异步编程对比:深度解析与实战案例全面指南

文章目录 前言更多实用工具React与Vue概述ReactVue 异步编程基础回调函数PromiseAsync/Await React中的异步编程使用Axios进行数据请求异步操作与组件生命周期React Hooks中的异步处理 Vue中的异步编程使用Axios进行数据请求异步操作与Vue生命周期Vue Composition API中的异步处…...

CTF-WEB: 2024强网杯青少年专项赛 ezFindShell writeup

打开直接下载www.zip 通过百度网盘分享的文件&#xff1a;ezFindShell.zip 链接&#xff1a;https://pan.baidu.com/s/1JQjOk-qxaOf0s4f3Fgww7w?pwd1111 提取码&#xff1a;1111 --来自百度网盘超级会员V2的分享使用阿里webshell进行检测,找到可利用文件,或者直接全全局搜索…...

docker网络配置

文章目录 前言一、docker网络访问原理二、docker配置多台机器可以相互访问三、高级网络配置四、最佳实践总结前言 在当今的软件开发和运维领域,Docker 已经成为了容器化服务的标准之一。它不仅简化了应用的部署过程,还大大提高了资源利用率。然而,随着Docker应用的深入,网…...

AI生成的一个.netcore 经典后端架构

下面是一个完整的 .NET Core 后端项目示例&#xff0c;使用 Dapper 作为轻量级 ORM 访问 Oracle 数据库&#xff0c;并实现高性能架构。我们将实现学生表、课程表、成绩表和班级表的基本增删改查功能&#xff0c;以及查询某个班级学生成绩的功能&#xff0c;并使用自定义缓存来…...

docker学习的初识

一、docker官方安装地址: 根据官网找对应的环境,相关的安装命令自行官网不在累赘; 查看Docker的版本号:docker -v Docker version 27.3.1, build ce12230查看相应的镜像docker images REPOSITORY TAG IMAGE ID CREATED SIZE docker/wel…...

【Git】Git 完全指南:从入门到精通

Git 完全指南&#xff1a;从入门到精通 Git 是现代软件开发中最重要的版本控制工具之一&#xff0c;它帮助开发者高效地管理项目&#xff0c;支持分布式协作和版本控制。无论是个人项目还是团队开发&#xff0c;Git 都能提供强大的功能来跟踪、管理代码变更&#xff0c;并保障…...

webrtc ios h264 硬编解码

webrtc ios h264 硬编解码 一 ios 系统支持 从ios8开始&#xff0c;苹果公司开放了硬解码和硬编码API&#xff08;即 VideoToolbox.framework API&#xff09; 二 主要api 1 主要解码函数 VTDecompressionSessionCreate // 创建解码 session VTDecompressionSession…...

ubuntu20.04更换安装高版本CUDA以及多个CUDA版本管理

Ubuntu 20.04下多版本CUDA的安装与切换 CUDA安装配置环境变量软连接附上参考博客CUDA安装 cuda官方下载地址 因为我需要安装的是11.1版本的,所以这里按着11.1举例安装 安装命令如下: wget https://developer.download.nvidia.com/compute/cuda/11.1.0/local_installers/cu…...

生鲜食品o2o商城系统|Java|SSM|VUE| 前后端分离

【重要1⃣️】前后端源码万字文档部署文档 【重要2⃣️】正版源码有问题包售后 【重要3⃣️】可复制品不支持退换货 【包含内容】 【一】项目提供非常完整的源码注释 【二】相关技术栈文档 【三】源码讲解视频 【其它服务】 【一】可…...

C 语言静态库与动态库的生成和使用

在 YouTube 上找到一个视频 动态链接库静态链接库的生成和使用&#xff0c;它把用 GCC 生成静态库和动态库&#xff0c;以及如何使用他们说的很明白&#xff0c;有条件的可以直接看那个视频。本文就是一个观后的实操和笔记&#xff0c;加添了更多如何查看动态库&#xff0c;静态…...

分布式锁的实现方案有哪些?各自的原理是怎样的?使用场景有哪些?与单体架构中锁区别?存在哪些问题?如何解决?注意事项?

一、分布式锁的实现方案 分布式锁的实现方案主要包括以下几种&#xff1a; 基于数据库的分布式锁&#xff1a; 利用数据库的事务特性来实现锁功能。在数据库中创建一个具有唯一约束的锁表&#xff0c;加锁时插入一行记录&#xff0c;释放锁时删除这行记录。简单易用&#xf…...

企业如何落地搭建商业智能BI系统

随着新一代信息化、数字化技术的应用&#xff0c;引发了新一轮的科技革命&#xff0c;现代化社会和数字化的联系越来越紧密&#xff0c;数据也变成继土地、劳动力、资本、技术之后的第五大生产要素&#xff0c;这一切都表明世界已经找准未来方向&#xff0c;前沿科技也与落地并…...

python学习——元组的创建于删除

在 Python 中&#xff0c;元组&#xff08;tuple&#xff09;是一种内置的数据类型&#xff0c;用于存储不可变的有序元素集合。以下是关于 Python 元组的一些关键点&#xff1a; 文章目录 定义元组1. 使用圆括号 ()2. 使用 tuple() 函数3. 使用单个元素的元组4. 不使用圆括号…...

智能化图书馆导航系统方案之系统架构与核心功能设计

hello~这里是维小帮&#xff0c;点击文章最下方获取图书馆导航系统解决方案&#xff01;如有项目需求和技术交流欢迎大家私聊我们~撒花&#xff01; 针对传统图书馆在图书查找困难、座位紧张、空间导航不便方面的问题&#xff0c;本文深入剖析了基于高精度定位、3D建模、图书搜…...

Linux网络——IO模型和多路转接

通常所谓的IO&#xff0c;其本质就是等待通信和进行通信&#xff0c;即IO 等 拷贝。 那么想要做到高效的IO&#xff0c;就要在单位时间内&#xff0c;减少“等”的比重。 一.五种IO模型 阻塞 IO: 在内核将数据准备好之前, 系统调用会一直等待. 所有的套接字, 默认都是阻塞方…...

浅谈网络 | 应用层之HTTP协议

目录 HTTP 请求的准备HTTP 请求的构建HTTP 请求的发送过程HTTP 返回的构建HTTP 2.0QUIC 协议HTTP 3.0 在讲完传输层之后&#xff0c;我们接下来进入应用层的内容。应用层的协议种类繁多&#xff0c;那从哪里开始讲起呢&#xff1f;不妨从我们最常用、最熟悉的 HTTP 协议 开始。…...

【CSS】页面滚动到一定位置时,指定区域固定不变

一. 需求 移动端&#xff1a;下滑时&#xff0c;当下滑到一定位置时&#xff0c;指定区域不跟随下滑-【固定跟随区域】一直在顶部效果 &#xff08;1&#xff09;未滚动前 &#xff08;2&#xff09;滚动后 二. 实现 <template><div class"global-application…...

瀚高创库建表pgsql

1.瀚高下载地址&#xff1a; 下载 (highgo.com)https://www.highgo.com/down_main.html 2.瀚高linux安装 上传deb文件到ubuntu系统中 执行 dpkg -i hgdb-see-4.5.8-fe4791c.x86_64.deb 命令安装数据库 安装完成后&#xff0c;会在/opt 目录下生成安装目录 数据库安装完毕后…...

Vim 高级操作与技巧指南

在上一篇文章中&#xff0c;我们了解了 Vim 的基本操作和模式&#xff0c;掌握了如何进行文件编辑、光标移动、文本操作等基本技能。现在&#xff0c;我们将深入探讨 Vim 的一些高级功能&#xff0c;包括插件管理、脚本编写、定制快捷键等内容&#xff0c;以进一步提高你的工作…...

Vue3.0里为什么要用 Proxy API 替代 defineProperty API ?

Vue 3.0 之所以使用 Proxy API 替代 Object.defineProperty,主要是为了提升性能、减少代码复杂性,并解决 Vue 2.x 在响应式处理中的一些局限性。下面我们通过对比这两种方式的工作原理、优缺点,并结合实际项目代码示例来详细讲解。 1. Object.defineProperty 的局限性 在 …...

【基于规则】n-sigma

在正态分布中: 约68%的数据点会落在均值1σ的范围内约95%的数据点会落在均值2σ的范围内约99.7%的数据点会落在均值3σ的范围内这称为68-95-99.7法则(Empirical Rule)。 假设我们有一组数据,其均值为μ,标准差为σ。某个数据点x的n-sigma计算公式如下: 若z=1.2,说明该…...

JavaScript 判断字符串是否包含子字符串的几种方法

这里写目录标题 方法 1: 使用 includes()方法 2: 使用 indexOf()方法 3: 使用正则表达式方法 4: 使用 search()方法 5: 用 startsWith() 或 endsWith()推荐使用 JavaScript 判断字符串是否包含子字符串&#xff0c;不要只知道 indexOf() &#xff0c;还可以尝试一下其他写法。 …...

goframe框架bug-记录

implement not found for interface ICompany, forgot register? 错误解决检查&#xff1a; 1.有没有init 2. 注入问题 3. 注入问题...

Docker:在 ubuntu 系统上生成和加载 Docker 镜像

本文将介绍在 ubuntu系统上进行 Docker 镜像的生成和加载方法和代码。 文章目录 一、下载和安装 docker二、加载 docker 文件三、保存你的镜像四、将镜像上传到云端并通过连接下载和加载 Docker 镜像五、Docker 容器和本地的文件交互5.1 从容器复制文件到本地宿主机5.1.1 单个文…...

长时间无事可做是个危险信号

小马加入的是技术开发部&#xff0c;专注于Java开发。团队里有一位姓隋的女同事&#xff0c;是唯一的web前端工程师&#xff0c;负责页面开发工作&#xff0c;比小马早两个月入职。公司的项目多以定制化OA系统为主&#xff0c;后端任务繁重&#xff0c;前端工作相对较少。在这样…...

【小白学机器学习39】如何用numpy生成总体,生成样本samples

目录 1 目的&#xff1a;研究 样本和总体之间的关系 2 先生成1个理论总体 2.0 下面是关于这一步的完整代码 2.1 一般情况下&#xff0c;我们先生成一个符合正态分布的总体 2.1.1 设置总体 &#xff0c;或者说生成一个总体 2.2 为什么一定要是一个符合正态分布的总体&…...

redis的主从复制

redis主从复制 一、主从复制概念二、主从模式运行原理2.1主从复制的演示&#xff1a;2.2查看主从结构信息&#xff1a;2.3AOF文件对主从关系的影响2.4主从节点建立复制流程图 三、主从复制的拓扑结构3.1 一主一从结构3.2 一主多从结构3.3 树形主从结构 四、数据同步psync4.1全量…...

数据结构与算法(排序算法)

排序的概念 1. 排序是指将一组数据&#xff0c;按照特定的顺序进行排列的过程。 2. 这个过程通常是为了使数据更加有序&#xff0c;从而更容易进行搜索、比较或其他操作。 常见的排序算法 插入排序 1. 把待排序的记录&#xff0c;按其关键码值的大小&#xff0c;逐个插入到一…...