• Redis缓存数据库(一)


    先导知识:Memcache

    Memcache是一个高性能的分布式内存对象缓存系统,代码类似于Hash。

    已经有了Memcache,为什么还要用Redis呢?

    下面Memcache的缺点:

    • 不支持数据持久化存储
    • 不支持主从
    • 不支持分片

    而对比Redis数据库,以上三点都支持,所以要使用redis。

     问题一:为什么redis能这么快?

      Redis的访问速度可达 10万+QPS(query per second,每秒内查询次数)。

    1. 完全基于内存:绝大部分请求是纯粹的内存操作,不受限于硬盘读取速度,故而执行效率高
    2. 数据结构简单,是(key,value)形式,对数据的操作也简单
    3. 采用单线程也能处理高并发请求
    4. 相对于传统的阻塞I/O,Redis使用多路I/O复用模型,非阻塞I/O
    5. 具有原子性操作。
    问题二:Redis采用的多路I/O复用函数?

      多路I/O复用函数有:epoll、kqueue、evport、select    链接:多路I/O复用技术

    1. 因地制宜,有的系统只有select
    2. 优先选择时间复杂度为O(1)的函数作为底层实现
    3. 以时间复杂度为O(n)的select作为保底
    4. 基于reactor设计模式监听I/O事件
     问题三:Redis的数据类型有哪些?(重点!!)
    1. string:最基本的数据类型,二进制安全,可以存储任何格式的数据(jpg图片,序列化的对象)
    2. hash:string元素组成的字典,适合用于存储对象
    3. list:列表,特点:先进先出、有序(按添加顺序)、可重复
    4. set:string元素组成的无序集合,通过hash实现,不允许重复
    5. sorted set:通过分数来为集合的成员进行从小到大的排序
    6. 用于计数的HyperLogLog
    7. 用于支持存储地理位置信息的Geo
    Redis的底层数据类型基础:

      1、简单动态字符串;2、链表;3、字典;4、跳跃表

      5、整数集合;6、压缩列表;7、对象

  • 相关阅读:
    纯CSS打造好看的按钮样式
    jQuery手机端触摸卡片切换效果
    CSS手动改变DIV高宽
    Windows 10 的音频和 MIDI API将统一
    美食网站响应式精美模板
    三道Javascript的练习题
    html5手机端遮罩弹出菜单代码
    CSS的::selection使用方法
    Html5绘制饼图统计图
    JQuery实现一个简单的鼠标跟随提示效果
  • 原文地址:https://www.cnblogs.com/yonghome/p/redis1.html
Copyright © 2020-2023  润新知