• Redis系列 需要注意事项


    1、什么是Redis?有什么特点呢?

    Redis 是一款开源,高性能的 key-value 的非关系型数据库。
    特点:
    1)支持持久化,可以将内存中的数据持久化到磁盘,重启可以再次从磁盘中加载使用;
    2)支持多种数据结构;
    3)支持数据的备份:主从模式的备份;
    4)高性能,读速度达 11 万次/秒,写速度达到 8.1 万次/秒
    5)支持事务。

    2、Redis数据类型有哪些?

    一共有8中类型:

    String、Hash、List、Set、Zset 属于基本数据类型

    geospatial、hyperloglog、bitmap 属于特殊类型

    3、Redis 和 Memcache 的区别?

    [1]、Memcache 数据都存储在内存中,断电即失,数据不能超过内存大小;而 Redis 的数据可以持久化到硬盘

    [2]、Memcache 只支持简单的字符串,Redis 有丰富的数据结构;

    [3]、底层实现方式不一样,Redis 自行构建了 VM 机制,速度更快

    4、Redis 是单进程单线程的?

    Redis 将数据放在内存中,单线程执行最高,多线程执行反而需要进行 CPU 上下文切换,这是个耗时操作,单线程效率最高

    5、说说 Redis的持久化

    Redis 提供了两种持久化机制:RDB 和 AOF

    RDB 持久化机制指的是,用数据集快照的方式记录 Redis 数据库的所有键值对,在某个时间点写入一个临时文件,持久化结束后,用这个临时文件替换上次持久化的文件,达到数据恢复的目的。
    优点:
    1)只有一个文件 dump.rdb 方便持久化;
    2)容灾性好,一个文件可以保存到安全的磁盘;
    3)性能最大化,Redis 会单独创建(fork)一个子进程进行持久化,主进程不进行任何 IO 操作,保证了性能;
    4)在数据较多时,比 AOF 的启动效率高。
    缺点:
    最后一次持久化的数据可能会丢失。

    AOF 持久化,是以独立日志的方式记录每次写命令,并在 Redis 重启时重新执行 AOF 文件中的命令以达到恢复数据的目的。AOF 主要解决数据持久化的实时性。
    优点:
    1)数据安全,配置 appendfsync 属性,可以选择不同的同步策略;
    2)自动修复功能, redis-check-aof工具可以解决数据一致性问题;
    缺点:
    1)AOF 文件比 RDB 文件大,且恢复速度慢;
    2)数据多时,效率低于 RDB。

    6、Redis 的使用场景

    1)会话缓存:如 单点登录,使用 Redis 模拟 session,SSO 系统生成一个 token,将用户信息存到 Redis 中,并设置过期时间;
    2)全页缓存
    3)作为消息队列平台
    4)排行榜和计数器
    5)发布/订阅:比如聊天系统
    6)热点数据:比如ES中搜索的热词

    7、Redis 缓存如何保持一致性

    读数据的时候首先去 Redis 中读取,没有读到再去 MySQL 中读取,读取都数据更新到 Redis 中作为下一次的缓存。

    写数据的时候会产生数据不一致的问题。无论是先写入 Redis 再写入 MySQL 中,还是先写入 MySQL 再写入 Redis 中,这两步操作都不能保证原子性,所以会出现 Redis 和 MySQL 中数据不一致的问题。

    无论采取何种方式都不能保证强一致性,如果对 Redis 中的数据设置了过期时间,能够保证最终一致性,对架构的优化只能降低发生的概率,不能从根本上避免不一致性。

    更新缓存的两种方式:删除失效缓存、更新缓存
    更新缓存和数据库有两种顺序:先数据库后缓存、先缓存后数据库
    两两组合,分为四种更新策略。

  • 相关阅读:
    VS2010 Extension实践(3)——实现自定义配置
    VS2010 Extension实践(2)
    WinRT开发系列之基础概念:WinRT不是……
    [VS2010 Extension]PowerExtension.GoToDefinition
    如何通过反射调用带有ref或者out的参数的方法[迁移]
    Win7硬盘安装和移动硬盘访问出错的修复办法[迁移]
    zt. Windows Mobile开发文章收藏
    WinRT开发系列之编程语言:功能和效率
    VS2010 Extension实践
    maven创建父子工程
  • 原文地址:https://www.cnblogs.com/bangguo/p/12980966.html
Copyright © 2020-2023  润新知