第二章:API的理解和使用


通用命令

  • keys命令
    keys.PNG

    keys.PNG

    (keys一般不在生产环境使用)
  • dbsize命令
    dbsize.PNG
  • exists命令
    exists.PNG
  • del命令
    del.PNG
  • expire,ttl,persist命令
    捕获.PNG

    ![捕获.PNG](https://upload-images.jianshu.io/upload_images/4199821-8d5bfee1787cad40.PNG?imageMogr2/auto-
    捕获.PNG

    orient/strip%7CimageView2/2/w/1240)
    捕获.PNG
  • type命令
    type.PNG


数据结构和内部编码

  • 捕获.PNG
  • redis-object对象
    捕获.PNG


单线程

  • 单线程,某刻只能执行一条命令

  • 速度快的原因

    • 纯内存
    • 非阻塞IO
    • 避免线程切换和竞态损耗
    IO复用.PNG
  • 注意事项:

    • 一次只运行一条命令
    • 拒绝长(慢)命令
      • keys,flushall,flushdb,slow lua script。。。
    • 其实不是单线程
      • fysnc file descriptor
      • close file descriptor

字符串

  • get/set/del
    get.PNG
  • incr/decr/incrby/decrby
    incr.PNG

    捕获.PNG
  • set/setnx/set xx
    捕获.PNG

    捕获.PNG
  • mget/mset
    捕获.PNG

    捕获.PNG

n次get和1次mget

捕获.PNG

捕获.PNG
  • getset/append/strlen
    捕获.PNG

    捕获.PNG
  • incrbyfloat/getrange/setrange
    捕获.PNG

    捕获.PNG


你可能感兴趣的:(第二章:API的理解和使用)