第一章:初识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和复制丢失数据的情况。
收藏文章数量从多到少与“把书读薄”是一个道理
原文地址:https://www.cnblogs.com/use-D/p/10765976.html