• 【11月7日】Redis简介


    Redis简介


    关系数据库的不足

    • 不能有效处理多维数据
    • 高并发读写性能低
    • 支撑容量有限
    • 数据库的可扩展性和可用性低

    NoSQL数据库的优势

    • 易扩展
    • 大数据量
    • 高性能

    NoSQL = Not Only SQL(非关系型数据库)

    1. NoSQL数据之间无关系,数据库的结构简单,这样就容易扩展,可以方便实现高可用的架构。
    2. NoSQL的出现弥补了关系数据库在某些方面的不足,极大的节省开发成本和维护成本


    Redis是当前比较热门的NoSql数据库产品之一,是一个开源的、使用C语言编写的、支持网络交互的、可基于内存也可持久化的高性能键值对Key-Value数据库(区别于MySQL的二维表格的形式存储)。它通过提供多种键值数据类型来适应不同场景下的存储需求。


    Redis数据类型:

    • String(字符串)
    • List(列表)
    • Set(无序集合)
    • Zset(有序集合)
    • Hash(哈希表)

    Redis特点:

    • 性能极高(Redis读取的速度是110000次/s,写的速度是81000次/s)
    • 原子性(Redis 的所有操作都是原子性的,同时Redis还支持对几个操作全并后的原子性执行)
    • 支持多种数据结构(string、list、hash、set、zset)
    • 支持持久化
    • 支持主从复制
    • 支持集群
    • 支持key过期时间特性
    • 支持事务
    • 支持消息/订阅模式
    • 官方仅支持Linux系统(有第三方版本支持Windows系统)

    Redis的应用场景

    数据缓存应用(最多使用)

    缓存的两种形式:

    • 页面缓存:第一次从数据库读取,然后生成一个静态页面,以后所有的读取,只加载静态页面
    • 数据缓存:由于一个页面有几种需要从不同的缓存中读取数据的模块,所以不适合使用页面缓存

    热点数据:数据库中数据被访问的频率是不均匀的,频繁被访问的数据称为热点数据

    • 会话缓存应用:分布式集群架构中的session分离
    • 排行榜应用:利用Redis的sorted set(有序集合)
    • 计数器应用:利用Redis的原子性
    • 数据过期处理:利用Redis支持的过期时间特性可以定时清除过期数据,如定期活动(精确到毫秒)
    • 消息队列:Redis支持消息/订阅模式,可以构建实时的消息队列

    Redis两个特点

    单进程

    • Redis的服务器程序采用的是单进程的模型来处理客户端的请求
    • Redis的实际处理速度完全依赖主进程的执行效率
    • 假如同时有多个客户端并发访问服务器,则服务器处理能力在一定情况下将会下降。假如要提升服务器的并发能力,那么可以采用在单台机器上部署多个redis进程的方式。

    多数据库(16个)

    • Redis每个数据库对外都是0开始递增的数字来命名,默认16个数据库,默认使用0号数据库,可以使用select+数字来选择数据库
    • Redis不支持自定义数据库名字
    • Redis不支持为每一个数据库设置不同的访问密码
    • Redis多花个数据库之间并不是完全独立的(FlushAll命令:清空redis全部的数据)
  • 相关阅读:
    SD卡路径问题以及如何获取SDCard 内存
    Android_JarZip压缩和解压文件
    android:imeOptions属性
    JAVA长连接demo
    高吞吐高并发Java NIO服务的架构(NIO架构及应用之一)
    WebSocket 实战
    android开发之应用Crash自动抓取Log_自动保存崩溃日志到本地
    Android屏幕适配全攻略(最权威的官方适配指导)
    Android设计模式系列
    Android开发MVP模式解析
  • 原文地址:https://www.cnblogs.com/tantanli/p/13939653.html
Copyright © 2020-2023  润新知