美文网首页
Redis学习笔记(一)

Redis学习笔记(一)

作者: 很大气 | 来源:发表于2019-01-28 09:02 被阅读1次

    笔记内容源于读书《Redis开发与运维》

    What

    Redis 是什么?

    • 基于键值对(key-value)的NoSQL数据库

    值可以是由string(字符串)、hash(哈希)、list(列表)、set(集合)、zset(有序集合)、Bitmaps(位图)、HyperLogLog、GEO(地理信息定位)等多种结构和算法组成。

    Attribute

    • 速度快

    • 所有数据放内存

    • 基于C语言实现,执行速度相对更快

    • 使用单线程架构,预防多线程可能产生的竞争问题

    • 源码精打细磨,性能和优雅于一身的开源代码

    • 基于键值对的数据结构服务器

    • 丰富的功能

    • 提供键过期功能,可以用来实现缓存

    • 发布订阅功能,可以用来实现消息系统

    • 支持Lua脚本功能,可以利用Lua创造出新的Reids命令

    • 提供了简单的事务功能,能在一定程度上保证事务特性。

    • 提供了流水线(Pipeline)功能,将一批命令一次性传到Redis,减少了网络的开销。

    • 简单稳定

    • 早期只有2万行代码,3.0后增至5万行。

    • 客户端语言多

    • 持久化

    • RDB 和 AOF

    • 主从复制

    • 高可用和分布式

    • 2.8以前是Redis Sentinel,能够保证Redis节点故障的发现和故障自动转移

    • 3.0 Redis Cluster,真正分布式实现,提供了高可用、读写和容量的扩展性。

    Use Case

    • 可以做什么
    1. 缓存

    键值过期时间设置,提供灵活控制最大内存和内存溢出的淘汰策略。

    1. 排行榜系统

    提供列表和有序集合数据结构,可以用于构建各种排行榜。

    1. 计数器应用

    天然支持计数功能而且计数功能非常好。

    1. 社交网络

    赞/踩、粉丝、共同好友/喜好、等利用数据结构来实现。

    1. 消息队列系统

    提供了发布订阅功能和阻塞队列,满足一般的消息队列功能。

    • 不可以做什么
    • 数据规模和数据冷热两个角度分析
    • Redis基于内存存放,不适合存储大数据
    • Redis不适合存放冷数据

    How to Learn

    • 不能黑盒应用,开发与运维同样重要(以下是错误示范)
    • 在上千万个键的Redis上执行 keys*(不了解单线程模型)
    • 在一个写操作量很大的Redis上配置自动保存RDB(不了解持久化原理)
    • 阅读源码

    相关文章

      网友评论

          本文标题:Redis学习笔记(一)

          本文链接:https://www.haomeiwen.com/subject/mibojqtx.html