Redis7-入门-安装

news2025/1/10 17:10:07

1.Redis是什么

REmote Dictionary Server(远程字典服务器)

Remote Dictionary Server(远程字典服务)是完全开源的,使用ANSIC语言编写遵守BSD协议,是一个高性能的Key-Value数据库提供了丰富的数据结构,例如String、Hash、List、set、Sortedset等等。数据是存在内存中的,同时Redis支持事务、持久化、LUA脚本、发布/订阅、缓存海汰、流技术等多种功能特性提供了主从模式、Redis Sentinel和Redis Cluster集群架构方案.

Redis 是基于 Open Source BSD 协议,使用 C 语言编写的一种Key-Value(键值对)内存数据库.

2.Redis能干嘛

1.主流功能与应用

1.分布式缓存,挡在 MySQL 数据库之前的带刀侍卫

请求来,先在Redis里找,找到了直接返回(可以不麻烦MySQL),如找不到,再访问MySQL,同时回写给Redis,让下一次请求直接可以在Redis里找到

与传统数据库关系(mysql):
Redis是key-value数据库(NoSQL一种),mysql是关系数据库Redis数据操作主要在内存,而mysql主要存储在磁盘Redis在某一些场景使用中要明显优于mysql,比如计数器、排行榜等方面

Redis通常用于一些特定场景,需要与MysqI一起配合使用两者并不是相互替换和竞争关系,而是共用和配合使用

2.内存存储和持久化(RDB+AOF)

Redis支持异步将内存中的数据写到硬盘上,同时不影响继续服务.

3.高可用架构搭配

1.单机

2.主从

3.哨兵

4.集群

4.缓存穿透,击穿,雪崩

5.分布式锁

6.队列

Reids提供list和set操作,这使得Redis能作为一个很好的消息队列平台来使用。

我们常通过Reids的队列功能做购买限制。比如到节假日或者推广期间,进行一些活动,对用户购买行为进行限制,限制今天只能购买几次商品或者一段时间内只能购买一次。也比较适合适用。

7.排行榜+点赞

在互联网应用中,有各种各样的排行榜,如电商网站的月度销量排行榜、社交APP的礼物排行榜、小程序的投票排行榜等等。Redis提供的区set数据类型能够快速实现这些复杂的排行榜。
比如小说网站对小说进行排名,根据排名,将排名靠前的小说推荐给用户

2.优势

1.性能极高:

Redis能读的速度是110000次/秒,写的速度是81000次/秒

2.数据类型丰富

Redis数据类型丰富,不仅仅支持简单的key-value类型的数据,司时还提供list,set,zset,hash等数据结构的存储

3.支持数据持久化

Redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用.

4.支持数据备份

Redis支持数据的备份,即master-slave模式的数据备份

3.Redis去哪下载

Redis - The Real-time Data Platform 英文官网

http://www.redis.cn/ 中文官网

redis中文文档 中文文档

Releases · redis/redis · GitHub Redis的官方文档

Redis7新特性:

4.Redis的安装配置

建议用Linux系统,因为可以复用以前的deploy函数

首先要在Linux上装gcc环境

gcc是linux下的一个编译程序,是C程序的编译工具
SCC(GNU Compiler Collection)是 GNU(GNU's Not Unix)计划提供的编译器家族,它能够文持c,C++,Obiective-C,Fortran, Java 和Ada 等等程序设计语言前端,同时能够运行在 x86,x86-64,1A-64,PowerPC,SPARC和Alpha 等等几乎目前所有的硬件平台上。鉴于这些特征,以及 GCC 编译代码的高效性,使得 GCC 成为绝大多数自由软件开发编译的首选工具。虽然对于程序员们来说,编译器只是一个工具,除了开发和维护人员,很少有人关注编译器的发展,但是 GCC的影响力是如此之大,它的性能提升甚至有望改善所有的自由软件的运行效率,同时它的内部结构的变化也体现出现代编译器发展的新特征。

下载安装:

来到opt目录下

wget https://download.redis.io/releases/redis-7.4.0.tar.gz

解压 

tar -zxvf redis-7.4.0.tar.gz

来到redis-7.4.0下执行make

 make && make install

看到这句话,说明安装成功:

默认安装路径在usr/local/bin下

配置修改

好习惯:(重新拷贝一份配置文件到根目录的文件夹下,保证始终有一份原始数据,我们更改我们自定义拷贝的配置文件)

修改我们拷贝的配置文件:

启动服务

redis-server /myredis/redis7.conf 

报错7734:C 29 Jul 2024 17:06:49.857 # WARNING Memory overcommit must be enabled! Without it, a background save or replication may fail under low memory condition. Being disabled, it can also cause failures without low memory condition, see https://github.com/jemalloc/jemalloc/issues/1328. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.

原因:它指出内存过度提交(memory overcommit)功能没有被启用。在Linux系统中,内存过度提交允许系统分配比物理内存加上交换空间总和更多的内存给进程。当这个功能没有被启用时,Redis在执行后台保存(background save)或复制(replication)操作时,如果系统内存较低,可能会失败。

解决方法:

编辑/etc/sysctl.conf文件(告诉系统启用内存过度提交):添加   vm.overcommit_memory = 1

可以通过重启系统来应用这些更改,或者通过运行以下命令来立即应用更改(无需重启):

sudo sysctl vm.overcommit_memory=1

redis启动成功;

连接服务

关闭

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

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

相关文章

程序员学长 | 快速学会一个算法,ANN

本文来源公众号“程序员学长”,仅用于学术分享,侵权删,干货满满。 原文链接:快速学会一个算法,ANN 今天给大家分享一个强大的算法模型,ANN。 人工神经网络 (ANN) 是一种深度学习方法,源自人类…

【C++BFS】1020. 飞地的数量

本文涉及知识点 CBFS算法 LeetCode1020. 飞地的数量 给你一个大小为 m x n 的二进制矩阵 grid ,其中 0 表示一个海洋单元格、1 表示一个陆地单元格。 一次 移动 是指从一个陆地单元格走到另一个相邻(上、下、左、右)的陆地单元格或跨过 gr…

html+css 炫酷的流边按钮

前言:哈喽,大家好,今天给大家分享htmlcss 绚丽效果!并提供具体代码帮助大家深入理解,彻底掌握!创作不易,如果能帮助到大家或者给大家一些灵感和启发,欢迎收藏关注哦 💕 文…

详细教程:在Octo Browser指纹浏览器中配置IPXProxy代理IP的步骤

​Octo Browser是一款反检测指纹浏览器,可防止在线跟踪并保护用户隐私的网络浏览器。用户可以在Octo Browser中设置代理IP,来进行多账户的管理,降低账户关联的风险。下面以IPXProxy代理IP为例,告诉大家如何在Octo Browser指纹浏览…

顺序栈*链栈

逻辑结构,存储结构,运算 栈的定义 栈是只能在一端进行插入,删除操作的线性表; 栈的操作特征为先进后出,栈的逻辑结果为线性结构,是一种特殊的线性表. 栈顶:允许插入,删除 栈底:不允许插入删除 存储结构--顺序存储 (1)定义 #include<stdio.h> #define MaxSize 10 /…

哪些洗地机比较好?揭晓中国十大名牌洗地机

在当今追求高效与品质生活的时代&#xff0c;洗地机作为现代家居清洁的得力助手&#xff0c;其重要性日益凸显。为了帮助大家在众多品牌中筛选出优质之选&#xff0c;我们精心揭晓中国洗地机领域的十大名牌。这些品牌凭借卓越的性能、创新的技术以及良好的用户口碑&#xff0c;…

开启mybatis-plus日志功能

第一部分&#xff1a;配置文件增添参数 增加如下&#xff1a; configuration:log-impl: org.apache.ibatis.logging.stdout.StdOutImpl 第二部分&#xff1a;运行效果展示

大数据信用报告一般都是在哪里查询?

相信现在有不少人都听说过大数据信用&#xff0c;其实早在几年前&#xff0c;大数据就已经作为银行和借贷机构审核申贷人的重要途径&#xff0c;因为传统的征信报告有一定的局限性&#xff0c;无法全方位的了解申贷人的隐形负债&#xff0c;大数据信用报告的作用就显现出来了&a…

Ansys Zemax|如何模拟复杂的菲涅尔透镜

附件下载 联系工作人员获取附件 概述 这篇文章介绍了如何模拟每个菲涅尔环都由不同数据定义的复杂菲涅尔透镜。这种方法也可以用于定义复杂物体。 介绍 菲涅尔透镜与普通透镜有所区别&#xff0c;它是将普通透镜连续、光滑的表面分成一系列同心圆环&#xff0c;这些同心圆环…

手机高清录屏,快速学会的2种绝妙方法!

在移动互联时代&#xff0c;手机不仅仅是通讯工具&#xff0c;更是我们记录生活、分享经验、创作内容的得力助手。而手机高清录屏功能&#xff0c;则为我们捕捉手机屏幕上的每一帧精彩提供了便捷的方式。无论是游戏直播、教学演示&#xff0c;还是视频制作&#xff0c;手机高清…

创建自己的 Omnigraph (python篇)

Omnigraph 是 Nvidia Omniverse 中一个强大的视觉化脚本工具&#xff0c;它让开发者能够以直观和灵活的方式创建复杂的行为和交互性。通过结合 Action Graphs 和 Push Graphs&#xff0c;以及利用丰富的节点库&#xff0c;用户可以在 Omniverse 平台上构建出令人惊叹的虚拟世界…

Ubuntu虚拟机扩容笔记(各种方法都不行版)

1.背景介绍 最近需要对ubuntu的虚拟机下面的挂载根目录上的文件系统对应的硬盘进行扩容&#xff0c;在虚拟机管理平台对磁盘进行扩容后&#xff0c;在图形界面上尝试扩容&#xff1a; 尝试教程主要采用下面教程的第三种方法&#xff1a; Ubuntu22.04 Linux磁盘扩容/硬盘扩展…

【C++】学习笔记——C++11_1

文章目录 十九、C111. 统一的列表初始化{}初始化std::initializer_list 2. 声明autodecltypenullptr 4. 范围for5. STL中的一些变化新容器新方法 6. 右值引用和移动语句左值引用和右值引用 未完待续 十九、C11 1. 统一的列表初始化 {}初始化 在C98中&#xff0c;标准允许使用…

C++ map/set 函数用法解析

一 . set 1.1 set 是什么、关联/非关联式容器 se是一种关联式容器&#xff0c;主要用进行查找的工作。采用了key模型&#xff0c;判断数据在不在。不支持修改的操作。 序列式容器&#xff08;线性表&#xff09;&#xff1a;vector / list /deque&#xff08;单纯存储数据&am…

top命令从入门到精通

top命令从入门到精通 linux平台上一个可以用于性能监控、排查的神器。 响应参数 up&#xff1a;运行时长users&#xff1a;当前登陆了几个用户load average&#xff1a;运行负载 sleeping&#xff1a;休眠进程stopped&#xff1a;终止进程zombie&#xff1a;僵尸进程 us&…

Neutralinojs教程项目实战初体验(踩坑指南),干翻 electron

Neutralinojs 项目实战初体验&#xff08;踩坑指南&#xff09;&#xff0c;干翻 electron Neutralinojs 官方文档 卧槽卧槽&#xff0c;&#xff01;这个年轻人居然用浏览器把电脑关机了_哔哩哔哩_bilibili正是在下 本教程搭建的是纯原生项目&#xff0c;没有和其它前端框架…

【C++BFS】959. 由斜杠划分区域

本文涉及知识点 CBFS算法 LeetCode959. 由斜杠划分区域 在由 1 x 1 方格组成的 n x n 网格 grid 中&#xff0c;每个 1 x 1 方块由 ‘/’、‘’ 或空格构成。这些字符会将方块划分为一些共边的区域。 给定网格 grid 表示为一个字符串数组&#xff0c;返回 区域的数量 。 请注…

整理压缩JavaScript文件

你是不是会担心有专业人员通过你写的JavaScript语法来判断你的接口数据&#xff0c;今天就介绍一种可以封装你写的JavaScript的工具 环境&#xff1a;Windows10、node20.11.1、Vue/cli 5.0.8 uglify-js 是一个流行的 JavaScript 压缩工具&#xff0c;用于减少 JavaScript 文件…

angular入门基础教程(二)第一个angular组件

ng中的语法跟vue中是一样的插值语法&#xff0c;其实也是早期vue抄的ng的思路&#xff0c;使用{{variable}}形式&#xff0c;vue借鉴了ng和react&#xff0c;这个我们就不多了。 新建一个子组件 在项目根目录下面&#xff0c;执行 ng g component ./components/UserList这样…

Transformer——逐步详解架构和完整代码搭建

好久没更新博客&#xff0c;后面更新会勤一些。今天想聊一下Transformer&#xff0c;Transformer在NLP和CV领域都有着重要的价值&#xff0c;甚至可以看作是一个基础模型&#xff0c;这篇博客将通过详细代码深入解析Transformer模型总体架构图各个部分的的作用和搭建:论文链接&…