• redis常见面试题


    1.定义

    redis是一个基于内存的 以key-value对保存的非关系型数据库

    2.redis的优点

    1)存取速度快 ,因数据存在内存中,类似于HashMap,它的优势就是查找和操作的时间复杂度是O(1)(O(1)是指时空复杂度是最低的,无论数据量有多大,所有的操作都能在一次计算后找到目标);

    2)支持丰富的数据类型;

    3)支持事务,操作都是原子性,所谓的原子性就是操作要么全部执行要么全部不执行;

    4)丰富的特性 可用于缓存 消息按key设置过期时间;

    2.redis相比memcached的优势

    1)memcached只支持简单的字符串类型,redis支持更加丰富的数据类型 String List(列表) Set(集合) SortedSet (有序集合)  Hash(哈希)

    2)redis读取速度比memcached快

    3)redis可持久化其数据

    3.redis与memcached的区别

    1)存储方式 memcached 存储在内存中,断电后会挂掉,数据不能超过内存大小,redis的数据部分保存在硬盘,这样能保证数据的持久化

    2)redis较memcached支持更加丰富的数据类型

    3)使用底层模型不同

    4.redis的持久化

    1)定义

    rdb 是redis数据集以快照(半持久化模式)的方式记录redis数据库所有的键值对 在某个时间点写到某个临时文件中,持久化结束后,用临时文件替换上一个持久化文件吗,达到数据恢复的作用

    aof 是指所有命令行记录以redis命令请求协议的格式(完全持久化存储)保存为aof文件

    2)比较

    rdb性能比aof好

    aof更新频率高,优先使用aof还原数据

    aof比rdb安全性更高

    如果aof和rdb都配了,优先加载aof

    5.一个redis库能存多少key  各个数据类型的最大存储量

    一个库可存2.5亿个key

    String 类型的value的一个最大512M

    List set 元素个数最多 2^32-1 

    hash 键值对个数最多2^32-1

  • 相关阅读:
    Vue内敛模板
    vue自定义组件添加原生事件监听
    vue 组件开发 props 验证
    Vue中子组件数据跟着父组件改变和父组件数据跟着子组件改变的方法
    jQuery中outerWidth()方法
    CSS3-transition
    行内元素(例如)设置float之后才能用width调整宽度
    leetcode LRU Cache python
    opcache effect
    leetcode Same Tree python
  • 原文地址:https://www.cnblogs.com/missmeng/p/10411328.html
Copyright © 2020-2023  润新知