Day2 Redis基础介绍

特性

  • 使用记忆体进行操作
    • 所有资料都透过Key-Value的方式存放在记忆体,在找寻所需资料透过Hashmap的方式取得,所以速度非常快。
  • 简单的资料结构
    • strings
    • lists
    • maps
    • sets
    • sorted
    • sets
    • HyperLogLogs
    • bitmaps
    • streams
    • spatial indexes
  • 透过单执行绪进行操作
    • 大多数的应用情境都是单执行绪的方式即可完成,部分特殊需求会fork新的Process进行,但单执行绪可以减少CPU的Context Switch 提升处理效率也可以避免资源竞争的可能。
    • 在Redis 4.0 版本开始支援多执行绪,主要应用在集群的I/O、写入AOF或是连线管理等应用。
  • Socket multiplexing
    • 透过单执行绪同时监控多个Socket连线处理需求I/O。
    • 在Redis 6.0 开始使用多执行绪监控多个Socket连线处理需求,在进行操作时还是透过单执行。

RESP (Redis Serialization Protocol)

  • Redis 在使用端与服务器端通讯是透过RESP协定通过TCP方式进行。
  • binary safe,字串内容转换成二进位格式进行传输不会有特殊格式。
  • 实作简单
  • 解析效率快
  • 可读性佳
  • 使用上会搭配一些符号对应所传输的资料型态,结尾统一加上换行符号\r\n
    • 字串
    +OK/r/n
    
    • 错误
    #-Error message
    -ERR unknow command 'get123'
    
    • 整数
    # (integer 1)
    :1
    
    # (integer 3)
    :3
    
    • 多行字串
    get site
    $-1
    
    set site 'helloworld'
    +OK
    
    get site
    $10
    helloworld
    
    • 阵列
    LPUSH todo item1 item2 item3
    :3
    
    LRANGE todo 0 -1
    *3
    $5
    item3
    $5
    item2
    $5
    item1
    

<<:  Unity自主学习(三):如何安装Unity(二)

>>:  成为工具人应有的工具包-02 BrowsingHistoryView

自动化 End-End 测试 Nightwatch.js 与 BrowserStack

BrowserStack 一个提供各式浏览器、移动装备的平台,前面虽然有稍微提到这个东西,不过都没什...

DAY 6 Big Data 5Vs – Volume(容量) – Redshift Spectrum

大量的资料势必可能来自不同资料源,在结构化资料库的世界常用的就是联合查询。那如果我的资料不全都在结构...

第2天~就是要写出HELLO

为了避免忘记发文~先发了再来修正 写出HELLO 但是要写出HELLO之前还有别的工作要先做: 其实...

【程序】陷入低潮 转生成恶役菜鸟工程师避免 Bad End 的 30 件事 - 23

https://youtu.be/vpwC347cXog 陷入低潮 了解低潮 专注在可控的短期 充...

突破封锁线的勇气与思维

一直以来,与欧美敌对的国家,绝对没有好下场,最严重的就是经济的制裁,这样的做法,目的是要让敌对国的内...