《Redis实战》

认真学习Redis,记录《Redis实战》的概念笔记

一、初始Redis

  1. Redis可以存储键和五种不同数据结构之间的映射:STRING(字符串),LIST(列表),SET(集合),HASH(散列),ZSET(有序集合)。

  2. 字符串String的常见命令包括

    • GET:获取给定键中的值

    • SET:设置给定键中的值

    • DEL:删除给定键中的值

  3. 列表LIST的常见操作包括以下,左右对称

    • RPPUSH:将给定的值推到列表的右端
    • LRANGE:获取列表在给定范围上的所有值
    • LINDEX:获取列表在给定位置上的单个元素
    • LPOP:从列表的左端弹出一个值,并返回该值
  4. 集合SET保证存储的都是不相同的,常见操作

    • SADD:元素添加到集合
    • SMEMBERS:返回集合所有元素
    • SISMENBER:检查给定元素是否在集合中
    • SREM:如果给定的元素存在于集合中,那么移除这个元素
  5. 散列HASH,类似于MySql中的行的概念,很像一个微缩版的Redis,常见命令

    • HSET:在散列里面关联给定的键值对
    • HGET:获取指定散列键的值
    • HGETALL:获取散列包含的所有键值对,返回键和值的字典形式
    • HDEL:如果给定键存在于散列里面,那么移除这个键
  6. 有序集合ZSET,存储键值对。其中的键被称为成员,每个成员各不相同,值被称为分值。唯一的一个可以根据成员访问值,也可以根据值访问成员。常见操作命令:

    • ZADD:将一个带有给定值的成员添加到有序集合里面
    • ZRANGE:根据元素在有序排列中所处的位置,从有序集合里面获取多个元素
    • ZRANGEBYSCORE:获取有序集合在给定分值范围内的所有元素
    • ZREM:如果给定成员存在于有序集合,那么移除这个成员。

二、使用Redis构建web应用

典型的引用场景包络以下

  • 登录和cookie缓存。签名(signed)cookie和令牌(token)cookie
  • 用Redis实现购物车,存储商品id和商品订购数量之间的映射
  • 网页缓存,缓存不经常变动的网页结果
  • 缓存部门关系数据库中的行
  • 缓存部门页面:通过页面压缩、Edge Side includes技术、移除模版无用字符等优化

三、Redis命令

  1. 字符串命令

    • INCR
    • DECR
    • INCRBY:键存储的值加整数
    • DECRBY
    • INCRBYFLOAT:键存储的值加浮点数
    • APPEND:将值追加到给定键当前存储值的末尾
    • GETRANGE:获取一个由偏移量start至end范围内所有字符组成的子串,包括start和end在内
    • SETRANGE:从start偏移量开始的子串设置为给定值
    • GETBIT:获得偏移量的二进制值
    • SETBIT:设置偏移量的二进制值
    • BITCOUNT:统计值为1的二进制值的数量
    • BITOP:执行按位运算操作