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

认识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客户端


http://www.kler.cn/a/415494.html

相关文章:

  • docker-compose 升级
  • 南京大学苏州校区学生代表团到访合合信息,开启“沉浸式”人工智能企业行
  • 大数据新视界 -- 大数据大厂之 Hive 数据安全:权限管理体系的深度解读(上)(15/ 30)
  • 基于FPGA的FM调制(载波频率、频偏、峰值、DAC输出)-带仿真文件-上板验证正确
  • MyBatis-Plus忽略多租户隔离自定义注解
  • 【C++打怪之路Lv16】-- map set
  • Figma入门-约束与对齐
  • 【前端开发】小程序无感登录验证
  • windows下使用WSL
  • AI智算-正式上架GPU资源监控概览 Grafana Dashboard
  • 小程序-基于java+SpringBoot+Vue的戏曲文化苑小程序设计与实现
  • tomcat 8.5.35安装及配置
  • 【Leetcode Top 100】206. 反转链表
  • 消息传递神经网络(Message Passing Neural Networks, MPNN)
  • Unity类银河战士恶魔城学习总结(P150 End Screen结束重启按钮)
  • 学习threejs,使用specularMap设置高光贴图
  • 实习冲刺第三十四天
  • 基于单片机的仓库环境无线监测系统(论文+源码)
  • Linux,如何将文件从一台服务器传到另一台服务器上
  • 基于STM32的智能农业灌溉系统设计与实现
  • Java 基础之 List 深度探秘
  • ChatGPT 能否克服金融领域中的行为偏见?分类与重新思考:黄金投资中的多步零样本推理
  • k8s容器存储接口 CSI 相关知识
  • ElasticSearch学习笔记把:Springboot整合ES(二)
  • 内核模块里获取当前进程和父进程的cmdline的方法及注意事项,涉及父子进程管理,和rcu的初步介绍
  • 设计模式学习之——策略模式