阶段一目标
- redis的概念和方向
- redis解决了什么问题
- 同类技术有哪些
- redis术的主要组成部分
- redis为什么会出现
目标一: 该技术的概念和方向
官方定义:
Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。 它支持多种类型的数据结构,如 字符串(strings), 散列(hashes), 列表(lists), 集合(sets), 有序集合(sorted sets) 与范围查询, bitmaps, hyperloglogs 和 地理空间(geospatial) 索引半径查询。 Redis 内置了 复制(replication),LUA脚本(Lua scripting), LRU驱动事件(LRU eviction),事务(transactions) 和不同级别的 磁盘持久化(persistence), 并通过 Redis哨兵(Sentinel)和自动 分区(Cluster)提供高可用性(high availability)。
方向:
高速缓存
- 性能高
- 数据类型多
- 操作原则性
- 特性足…
目标二: redis解决了什么问题
提高网站响应速度
redis,存内存操作,将一个复杂的sql语句耗时几秒查询出来的数据缓存在内存中.之后查询时,只需要在缓存中读取数据即可.
减轻数据库访问压力
将数据库中读取的数据缓存在内存中后,在缓存失效前,都不会去数据库中读取数据,减少数据库的压力
接口幂等性
基于redis的特性,可使用redis设置分布式锁,防止多次提交,多次请求等并发问题.
目标三: 同类技术有哪些
缓存
同样可以用作缓存的技术有Ehcache, Memcached
三者对比:
参考博客(内容详细): https://blog.csdn.net/jationxiaozi/article/details/8509732
ehcache: 小,快,简单,易扩展,但集群麻烦
memcache: 多线程,高性能
redis: 持久化,多数据类型,高性能,多特性,更新快
目标四: redis的主要组成部分
- 多种数据结构
- 主从复制(replication)
- LUA脚本(Lua scripting)
- LRU驱动事件(LRU eviction)
- 事务(transactions)
- 持久化 (AOP,RDB)
- 哨兵机制 (Sentinel)
- 自动分区 (Cluster)
目标五: redis为什么会出现
redis的作者antirez和朋友共同创建了一个LLOOGG.com的网站。面对日益膨大的用户,网址使用mysql都需要在硬盘使用弹出/推入操作,性能严重受限于硬盘I/O。antirez在不改变硬件的基础上自己写了一个基于内存操作的具有列表结构的内存数据库原型,也就是redis
参考博客(内容详细): https://blog.csdn.net/chengqiuming/article/details/79113358