zoukankan      html  css  js  c++  java
  • redis 基础(一) 初步了解redis

    1缓存相关

    1.1缓存穿透

    问题:查询的key再redis中不存在,对应的id在数据库也不存在。此时被非法用户进行攻击,大量的请求会去数据库(DB)造成宕机,从而影响整个系统。这种现象称之为 缓存穿透;

    解决方法:缓存redis把空的数据也缓存到redis中,比如空字符串,空对象等;

    1.2缓存雪崩

    在高并发下,大量缓存key在同一时间失效,大量请求直接落在数据库上,导致数据库宕机。

    缓存雪崩一般只能缓解,不能杜绝;

    解决方式:缓存永不过期、过期时间错开(避免大量缓存同一时间过期)、多缓存结合(redis、Memcache)【先请求redis,没有就去Memcache】、采购第三方redis(比如阿里云)

    2 分布式架构

    1. 什么是分布式架构:
      1.   不同的业务(功能模块)分散部署在不同的服务器
      2.   每个子系统负责一- 个或者多个不同的业务模块
      3.   服务之间可以相互交互与通信
    2. 分布式系统设计对用户透明
    3. 可以发展为集群分布式系统架构
    4. 举例单体架构和分布式架构
    5. 分布式架构优点:
      1. 业务解耦
      2. 系统模块化,可重用化
      3. 提升系统并发量
      4. 优化运维部署效率
    6. 分布式架构缺点:
      1. 架构复杂
      2. 部署多个子系统复杂
      3. 系统之间通信耗时
      4. 新人融入团队缓慢.
      5. 调试复杂.
    7. 分布式架构设计原则
      1. 异步解耦
      2. 幂等- -致性
      3. 拆分原则(功能、业务拆分)
      4. 融合分布式中间件
      5. 容错高可用

    3Nosql

    3.1什么是NoSql

    1. 存值方式: key-value
    2. Not Only Sql
    3. 传统项目使用纯数据库
    4. 为互联网和大数据而生
    5. 水平(横向)扩展方便高效
    6. 高性能读取
    7. 高可用
    8. 存数据,做缓存

    3.2Nosql常见分类

    1. 键值对数据库:Redis. Memcache
    2. 列存储数据库:Hbase. Cassandra
    3. 文档型数据库:MongoDB. CouchDB
    4. 图形数据库:Neo4J、FlockDB

    4分布式缓存

    4.1什么是分布式缓存

    1. 提升读取速度性能
    2. 分布式计算领域
    3. 为数据库降低查询压力

    4.2什么是reids

    1. NoSql
    2. 分布式缓存中间件
    3. key-value存储
    4. 提供海量数据存储访问
    5. 数据存储在内存里,读取更快
    6. 非关系型、分布式、开源、水平扩展

    5分布式缓存方案对比

    5.1Ehcache(适合单应用)

    1. 优点:
      1. 基于java开发
      2. 基于JVM缓存
      3. 简单、轻巧、方便
    2. 缺点:
      1. 集群不支持
      2. 分布式不支持

    5.2Memcache

    1. 优点:
      1. 简单的key-value存储
      2. 内存使用率比较高
      3. 多核处理,多线程.
    2. 缺点:
      1. 无法容灾(重启后之前数据无法恢复)
      2. 无法持久化

    5.3Redis

    1. 优点:
      1. 丰富的数据结构
      2. 持久化.
      3. 主从同步、故障转移
      4. 内存数据库
    2. 缺点:
      1. 单线程
      2. 单核
  • 相关阅读:
    NetSuite Batch Process Status
    NetSuite generated bank files and the Bank Reconciliation process
    Global Search file content in Gitlab repositories, search across repositories, search across all files
    FedEx Package Rate Integration with NetSuite direct integrate by WebServices
    git Merge branches
    git tag and NetSuite deployment tracking
    API 读写cookie的方法
    C# 生成缩略图
    解决jquery操作checkbox全选全不选无法勾选问题
    JS读取写入删除Cookie方法
  • 原文地址:https://www.cnblogs.com/1439107348s/p/14323904.html
Copyright © 2011-2022 走看看