• redis相关问题


    什么是Redis?简述它的优缺点?

    • Redis本质上是一个Key-Value类型的内存数据库,很像memcached,整个数据库统统加载在内存当中

          进行操作,定期通过异步操作把数据库数据flush到硬盘上进行保存。

    • 因为是纯内存操作,Redis的性能非常出色,每秒可以处理超过 10万次读写操作,

       是已知性能最快的Key-Value DB。

    • Redis的出色之处不仅仅是性能,Redis最大的魅力是支持保存多种数据结构,此外单个value的最大限制是1GB,

       不像 memcached只能保存1MB的数据,因此Redis可以用来实现很多有用的功能。

    • 比方说用他的List来做FIFO双向链表,实现一个轻量级的高性 能消息队列服务,

       用他的Set可以做高性能的tag系统等等。

    • 另外Redis也可以对存入的Key-Value设置expire时间,因此也可以被当作一 个功能加强版的memcached来用。
    • Redis的主要缺点是数据库容量受到物理内存的限制,不能用作海量数据的高性能读写,因此Redis适合的

         场景主要局限在较小数据量的高性能操作和运算上。


    RDB与AOF的区别

      RDB 保存的是数据本身,AOF保存的是命令。

    Redis集群

      主服务器挂掉,从服务器依然是slave的状态

      从服务器挂掉,重启后变成master状态,解决此现象需使用哨兵模式

      

     

    Redis集群会有写操作丢失吗?为什么?

      Redis并不能保证数据的强一致性,这意味这在实际中集群在特定的条件下可能会丢失写操作。

    Redis集群之间是如何复制的?

      异步复制。

    Redis集群如何选择数据库?

      Redis集群目前无法做数据库选择,默认在0数据库。

    怎么测试Redis的连通性?

      ping,返回pong。

    为什么Redis需要把所有数据放到内存中?

      Redis为了达到最快的读写速度将数据都读到内存中,并通过异步的方式将数据写入磁盘。

      所以redis具有快速和数据持久化的特征。如果不将数据放在内存中,磁盘I/O速度为严重影响redis的性能。

      在内存越来越便宜的今天,redis将会越来越受欢迎。 如果设置了最大使用的内存,则数据已有记录

      数达到内存限值后不能继续插入新值。

    怎么理解Redis事务?

    • 事务是一个单独的隔离操作:事务中的所有命令都会序列化、按顺序地执行。事务在执行的过程中,

      不会被其他客户端发送来的命令请求所打断。

    • 事务是一个原子操作:事务中的命令要么全部被执行,要么全部都不执行。

    Redis事务相关的命令有哪几个?

      MULTI、EXEC、DISCARD、WATCH

    Redis如何做内存优化?

    • 尽可能使用散列表(hashes),散列表(是说散列表里面存储的数少)使用的内存非常小,

      所以你应该尽可能的将你的数据模型抽象到一个散列表里面。

    • 比如你的web系统中有一个用户对象,不要为这个用户的名称,姓氏,邮箱,密码设置单独的key,

      而是应该把这个用户的所有信息存储到一张散列表里面。



  • 相关阅读:
    PHP面向对象----- 类的自动加载
    PHP基础知识------页面静态化
    Laravel 开发环境搭建
    jenkins相关学习
    markdown语法学习强化
    bind 使用和配置记录
    关于整形和浮点型的格式输出
    函数体中定义的结构体和类型
    Volatile & Memory Barrier
    各种简单排序算法模版
  • 原文地址:https://www.cnblogs.com/swanyf/p/10229098.html
Copyright © 2020-2023  润新知