Redis-概述-安装-基本知识

news2024/11/24 7:28:09

Redis概述


Redis是什么

  1. Redis(Remote Dictionary Server 远程字段服务)是一个开源的使用ANSI C语言编写、支持网
    络、内存亦可持久化的key-value数据库,并提供多种语言的API。
  2. Redis是一个key-value存储系统,它支持存储的value类型相对更多,包括string、list、set、
    zset(sorted set --有序集合)和hash。这些数据结构都支持push/pop、add/remove及取交集并
    集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,Redis支持各种不同方式的
    排序。为了保证效率,数据都是缓存在内存中,Redis会周期性的把更新的数据写入磁盘或者把修
    改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。
  3. Redis提供了java、C/C++、PHP、JavaScript、Perl、Object-C、Python、Ruby、Erlang等客户
    端,使用很方便。

Redis能干嘛

  1. 读写效率高,用于高速缓存
  2. 发布,订阅消息(消息通知)
  3. 地图信息分析
  4. 活动排行榜或计数
  5. …………

Redis特点

  1. 多样的数据类型:Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,
    hash等数据结构的存储。
  2. Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使
    用。
  3. Redis的所有操作都是原子性的。
  4. 支持主从复制及集群。

Redis安装


下载地址

Redis官方网址:Downloads - Redis

没注册要先注册,不懂就搜。

下载Redis

  1. 下滑找到Install Redis from source

在这里插入图片描述

  1. 下载到/opt目录下

    cd /opt
    wget https://download.redis.io/releases/redis-7.0.15.tar.gz
    
  2. 解压,解压后得到redis-stack-server-7.2.0-v10目录

    解压命令:

    tar -zxvf redis-7.0.15.tar.gz
    

安装GCC

安装C语言编译环境

yum group install "Development Tools" -y

通过使用 gcc --version 命令打印 GCC 版本,来验证 GCC 编译器是否被成功安装:

gcc --version

安装Redis

  1. 编译Redis
    在redis-7.0.15目录下执行:
cd redis-stack-server-7.2.0-v10/
make

出现下图代表编译成功

在这里插入图片描述

  1. 安装Redis

    在redis-7.0.15下执行:

    make install
    

    出现下图代表安装成功

    在这里插入图片描述

  2. 安装目录: /usr/local/bin

    在这里插入图片描述

    redis-benchmark:Redis自带的基准性能测试工具
    redis-check-aof:对有问题的 AOF 文件进行修复,AOF和RDB文件后面会说明
    redis-check-rdb:对有问题的 RDB文件进行修复
    redis-sentinel:Redis集群使用
    redis-cli:客户端
    redis-server:服务器启动

  3. 服务启动

    前台启动:/usr/local/bin下执行

    在这里插入图片描述

    后台启动:

    拷贝redis-6.2.4目录中的redis.conf文件到其他目录

    mkdir /usr/local/myredis
    cd /opt/redis-7.0.15/
    cp redis.conf /usr/local/myredis/redis.conf
    

    设置/usr/local/myredis/redis.conf文件中的daemonize属性,由no改为yes

    cd /usr/local/myredis/
    vim redis.conf
    

    在这里插入图片描述

    在/usr/local/bin下执行

    cd /usr/local/bin/
    ./redis-server /usr/local/myredis/redis.conf
    

    通过ps aux | grep redis-server查看服务是否启动

    ps aux | grep redis-server
    

    在这里插入图片描述

  4. 客户端启动

    /usr/local/myredis/下执行

    cd /usr/local/myredis/
    redis-cli
    

    在这里插入图片描述

    ping命令可以检测服务器是否正常(服务器返回PONG)

    ping
    

    在这里插入图片描述

Redis基本知识


  1. 端口6379的由来

    6379 = Merz

    在这里插入图片描述

    Merz全名Alessia Merz,是意大利的一位广告女郎。

  2. 默认有16个数据库,且初始状态默认选择0号数据库(即第一个数据库)。

  3. 可以使用select 进行数据库切换。

    select 8 切换到8号数据库
    
  4. 统一密码管理,所有库密码都一致。

  5. dbsize-查看当前数据库的key数量。

  6. flushdb-清空当前库。

  7. flushall-清空所有库。

  8. 为什么Redis是单线程且效率极高:

    • 绝大部分请求是纯粹的内存操作。
    • 避免了不必要的上下文切换和竞争条件,也不存在多进程或者多线程导致的切换而消耗 CPU,
    • 不用去考虑。各种锁的问题,不存在加锁释放锁操作。
    • 使用IO多路复用技术,可以处理并发的连接。

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

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

相关文章

好用的AI工具推荐与案例分析

你用过最好用的AI工具有哪些? 简介:探讨人们在使用AI工具时,最喜欢的和认为最好用的工具是哪些,展示AI技术的实际应用和影响。 方向一:常用AI工具 在选择常用AI工具时,可以根据不同的应用场景和需求来挑选…

华为平板手机如何清理应用市场的存储空间

如何清理应用市场的存储空间 适用产品: 手机,平板 适用版本:不涉及系统版本 如果您的应用市场显示应用的数据较大,可能是下载的安装包没有安装成功,导致安装包未自动删除。(可参考:应用市场下…

【QT】初始QT

目录 一.背景1.GUI开发的各种技术方案2.什么是框架3.QT支持的系统4.QT的版本5.QT的优点6.QT的应用常见 二.环境搭建1.认识QTSDK中的重要工具2.使用QT Creator创建项目3.项目解释(1)main.cpp(2)widget.h(3)widget.cpp(4)widget.ui(5)Empty.pro(6)临时文件 三.初始QT1.Hello Worl…

STM32单片机通过串口控制DDSM210 直驱伺服电机

1 电机介绍 官方资料:https://www.waveshare.net/wiki/DDSM210 DDSM210 直驱伺服电机是基于一体化开发理念,集外转子无刷电机、编码器、伺服驱动于一体的高可靠性永磁同步电动机,其结构紧凑,安装方便,运行稳定&#x…

飞致云开源社区月度动态报告(2024年4月)

自2023年6月起,中国领先的开源软件公司FIT2CLOUD飞致云以月度为单位发布《飞致云开源社区月度动态报告》,旨在向广大社区用户同步飞致云旗下系列开源软件的发展情况,以及当月主要的产品新版本发布、社区运营成果等相关信息。值得注意的是&…

服务器数据恢复—多块磁盘离线导致阵列瘫痪,上层lun不可用的数据恢复案例

服务器存储数据恢复环境: 某品牌MSA2000存储,该存储中有一组由8块SAS硬盘(其中有一块热备盘)组建的RAID5阵列,raid5阵列上层划分了6个lun,均分配给HP-Unix小型机使用,主要数据为oracle数据库和O…

链表面试题及其解析

1.返回倒数第k个节点 实现一种算法,找出单向链表中倒数第 k 个节点。返回该节点的值。 示例: 输入: 1->2->3->4->5 和 k 2 输出: 4 说明: 给定的 k 保证是有效的。 1.1快慢指针 即慢指针一次走一步…

[C++][数据结构]二叉搜索树:介绍和实现

二叉搜索树 概念 二叉搜索树又称二叉排序树,它是一棵空树,或者是具有以下性质的二叉树: 若它的左子树不为空,则左子树上所有节点的值都小于根节点的值若它的右子树不为空,则右子树上所有节点的值都大于根节点的值它的左右子树也…

JavaScript中的Math对象方法、Date对象方法

个人主页:学习前端的小z 个人专栏:JavaScript 精粹 本专栏旨在分享记录每日学习的前端知识和学习笔记的归纳总结,欢迎大家在评论区交流讨论! 文章目录 🌟Math对象方法🍄1 Math静态属性🍄2 Math…

Vue阶段练习:组件拆分

页面开发思路 分析页面&#xff0c;按模块拆分组件&#xff0c;搭架子&#xff08;局部或全局注册&#xff09;根据设计图&#xff0c;编写html结构css样式拆分封装通用小组件&#xff08;局部或全局注册&#xff09;将来通过js动态渲染实现功能 BaseBrandItem.vue <templ…

A5资源网有哪些类型的资源可以下载?

A5资源网提供了广泛的资源下载&#xff0c;包括但不限于以下类型&#xff1a; 设计素材&#xff1a;包括各类图标、矢量图、背景素材、UI界面元素等&#xff0c;适用于网页设计、平面设计等领域。 图片素材&#xff1a;提供高质量的照片、插图、摄影作品等&#xff0c;可用于…

使用STM32F103C8T6与蓝牙模块HC-05连接实现手机蓝牙控制LED灯

导言: 在现代智能家居系统中,远程控制设备变得越来越普遍和重要。本文将介绍如何利用STM32F103C8T6单片机和蓝牙模块HC-05实现远程控制LED灯的功能。通过这个简单的项目,可以学会如何将嵌入式系统与蓝牙通信技术相结合,实现远程控制的应用。 目录 导言: 准备工作: 硬…

ue引擎游戏开发笔记(27)——解决角色移动及转动存在卡顿掉帧小技巧

1.需求分析&#xff1a; 随之游戏越来越大&#xff0c;难免出现部分时候移动出现卡顿&#xff0c;能否进行一定优化。 2.操作实现&#xff1a; 1.思路&#xff1a;采取捕获最后deltaseconds来逐帧进行旋转或移动&#xff0c;使动作显得不那么卡顿。 .2.首先在引擎中建立映射&a…

【深度学习】第一门课 神经网络和深度学习 Week 4 深层神经网络

&#x1f680;Write In Front&#x1f680; &#x1f4dd;个人主页&#xff1a;令夏二十三 &#x1f381;欢迎各位→点赞&#x1f44d; 收藏⭐️ 留言&#x1f4dd; &#x1f4e3;系列专栏&#xff1a;深度学习 &#x1f4ac;总结&#xff1a;希望你看完之后&#xff0c;能对…

DRF解析器源码分析

DRF解析器源码分析 1 解析器 解析请求者发来的数据&#xff08;JSON&#xff09; 使用 request.data 获取请求体中的数据。 这个 reqeust.data 的数据怎么来的呢&#xff1f;其实在drf内部是由解析器&#xff0c;根据请求者传入的数据格式 请求头来进行处理。 drf默认的解…

连接一个 IP 不存在的主机时,会发生什么?(面试)

一、IP 不存在时 如果 IP 在局域网内&#xff0c;会发送 N 次 ARP 请求获得目的主机的 MAC 地址&#xff0c;同时不能发出 TCP 握手消息。 如果 IP 在局域网外&#xff0c;会将消息通过路由器发出&#xff0c;但因为最终找不到目的地&#xff0c;触发 TCP 重试流程。 二、IP…

✔ ★Java项目——设计一个消息队列(五)【虚拟主机设计】

虚拟主机设计 创建 VirtualHost实现构造⽅法和 getter创建交换机删除交换机创建队列删除队列创建绑定删除绑定发布消息 ★路由规则1) 实现 route ⽅法2) 实现 checkRoutingKeyValid3) 实现 checkBindingKeyValid4) 实现 routeTopic5) 匹配规则测试⽤例6) 测试 Router 订阅消息1…

酒水门店私域流量运营搭建执行规划方案

【干货资料持续更新&#xff0c;以防走丢】 酒水门店私域流量运营搭建执行规划方案 部分资料预览 资料部分是网络整理&#xff0c;仅供学习参考。 PPT可编辑&#xff08;完整资料包含以下内容&#xff09; 目录 精酿啤酒品牌私域执行运营的内容策划&#xff0c;涉及以下几个…

快讯! MySQL 8.4.0 LTS 发布(MySQL 第一个长期支持版本)

MySQL 第一个长期支持版本 8.4.0 LTS 发布&#xff0c;社区版下载地址&#xff1a; https://dev.mysql.com/downloads/mysql/ 功能变更 添加或更改的功能 组复制&#xff1a;与组复制相关的两个服务器系统变量的默认值已更改&#xff1a; 系统变量的默认值为 group_replication…

HashMap源码分析(jdk1.8,保证你能看懂)

现在的面试当中凡是那些大厂&#xff0c;基本上都会问到一些关于HashMap的问题了&#xff0c;而且这个集合在开发中也经常会使用到。于是花费了大量的时间去研究分析写了这篇文章。本文是基于jdk1.8来分析的。篇幅较长&#xff0c;但是都是循序渐进的。耐心读完相信你会有所收获…