zoukankan      html  css  js  c++  java
  • 第一章:初识Redis

    Redis是一种基于键值对的Nosql数据库;
    支持类型包括String、hash、list、set、zset、bitmaps、hyperloglog、GEO等多种数据结构和算法组合。
    Redis会将所有数据保存到内存中,所以它的读写速度非常快。
    Redis还可以将内存的数据利用快照和日志的形式保存在硬盘上。
    Redis提供键过期、发布订阅、事务、流水线、Lua脚本等附加功能
     
    Redis速度快
    • Redis所有数据保存在内存中,这是Redis快的主要原因;
    • Redis使用C语言实现,C语言里操作系统更近,执行速度相对会更快;
    • Redis使用单线程,预防了多线程可能的产生的竞争问题;
    • Redis作者对Redis源码的集性能和优雅于一身的开源代码;
     
    Redis丰富的功能
    • 提供了键过期:可以用于实现缓存
    • 发布订阅功能,可以实现消息系统
    • 支持Lua脚本功能,可以利用Lua创造新的Redis命令
    • 提供简单的事务支持,能在一定程度保证事务特性
    • 流水线功能,这样客户端能将一批命令一次性传递到Redis,减少网络的开销
     
    Redis持久化
    • RDB内存快照的方式将内存中的数据保存到硬盘中。
    • AOF追加日志的方式将内存中的数据保存到硬盘中。
     
    Redis客户端支持语言多
    Redis主从复制
    Redis高可用和分布式
    • Redis sentinel哨兵机制保证Redis节点的故障发现和故障自动转移;
    • Redis cluster实现了Redis真正的分布式实现,提供了高可用、读写和容量的扩展性;
     
    Redis应用场景
    • 缓存:缓存数据到内存加快访问,设置键值对过期时间;
    • 排行榜系统:Redis提供列表和有序集合数据结构
    • 计数器应用:incre自增命令
    • 社交网络:针对社交中“赞”“粉丝”“推送”“喜好”等数据存储到Redis中
    • 消息队列系统:Redis提供的发布订阅和阻塞队列功能;
     
    Redis不适用做什么
    • 不适合存储大量数据
    • 不适合存储冷数据,即很少有人访问的数据
     
    Redis常用命令
    • redis-server:启动redis
    1. 默认启动方式:redis-server
    2. 运行启动:redis-server --configKey1 configValue1 --configKey2 configValue2
    3. 配置文件启动:redis-server /opt/redis/redis.conf
    • redis-cli:客户端连接redis
    • redis-banchmark:redis基准测试工具
    • redis-check-aof:redis aof持久化文件检测和修复工具
    • redis-check-dump:redis rdb持久化文件检测和修复工具
    • redis-sentinel:启动redis哨兵
     
    Redis停止服务
    • 优雅关闭:redis-cli shutdown
    分为两步:断开和客户端的连接、持久化文件生成
    • 强行关闭:kill -9
    不会做持久化,并且会造成缓冲区等资源不能被优雅的关闭,极端情况下回造成aof和复制丢失数据的情况。
    收藏文章数量从多到少与“把书读薄”是一个道理
  • 相关阅读:
    前端之CSS1
    前端之HTML
    Python进阶之网络编程
    SparkSQL——HiveContext的使用
    SparkSQL——SQLContext的使用
    语义分析
    SLR(1)分析法分析过程
    算符优先分析法
    LL(1)语法分析
    递归下降分析分析法
  • 原文地址:https://www.cnblogs.com/use-D/p/10765976.html
Copyright © 2011-2022 走看看