redis学习之路(总结1)

redis 是什么

1.1redis定义:

Redis :Redis (REmote DIctionary Server) 是用 C 语言开发的一个开源的高性能键值对(
key-value)数据库 Redis 与其他 key - value 缓存产品有以下三个特点:

1)Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。
  2)Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。
  3)Redis支持数据的备份,即master-slave模式的数据备份

1.2redis与mysql等区别

1)类型上

从类型上来说,mysql是关系型数据库,redis是缓存数据库

(2)作用上

mysql用于持久化的存储数据到硬盘,功能强大,但是速度较慢

redis用于存储使用较为频繁的数据到缓存中,读取速度快

(3)需求上

mysql和redis因为需求的不同,一般都是配合使用。

1.3redis的优点

  • 1性能极高-redis能支持超过10w次每秒的读写频率
  • 丰富的数据类型:String ,Lists,hashes,sets及orderd sets
  • 原子性 - redis的所有的操作都是原子性的,同时redis还支持对几个操作后的原子性执行
  • 丰富特性-- 支持发布订阅模式 ,通知,key过期等特性
  • 单线程操作

redis内部结构是什么

参考 https://www.cnblogs.com/gaopengfirst/p/10062980.html

redis怎么使用

4.1redis的使用场景
String 类型:

  • 秒杀 – 原子性来计数 100个商品,通过incr 或者decr 进行递增或递减操作,判断库存
  • 用户信息共享—
  • 对帖子总数实时统计----
  • 对tomcat集群 ,通过redis来实现session共享问题–
  • p2发送短信,把短信放入session里面 过期问题— 将用户的ip,存入redis中,给设置一个过期时间,判断key是否失效,可以重新发送短信验证码

4.2redis使用的集群模式,以及不同版本下的集群模式选择
参考https://blog.csdn.net/miss1181248983/article/details/90056960
参考 https://www.cnblogs.com/diegodu/p/9183356.html
4.3redis 的持久化机制选择
rdp:每60秒写入1000key到redis,发起快照,持久化到磁盘

aof: 每秒钟往aof文件写入命令;
每次操作都往aof文件中写入命令;
系统自检判断什么时候写入命令
怎么选择持久化机制,及优缺点

4.4 redis 单线程怎么保证高性能
1.内存操作快
2.单线程操作,避免了频繁的上下文切换
3.采用了非阻塞I/O多路复用机制
4.5redis怎么保证与数据库的一致性
如果对数据有强一致性要求,不能放缓存
将不一致分为三种情况:

  1. 数据库有数据,缓存没有数据;

  2. 数据库有数据,缓存也有数据,数据不相等;

  3. 数据库没有数据,缓存有数据。

解决方法:

  1. 对删除缓存进行重试,数据的一致性要求越高,需要删除缓存时间越短。

  2. 定期全量更新,简单地说,就是我定期把缓存全部清掉,然后再全量加载。

  3. 给所有的缓存一个失效期,这个长短根据业务来,不然与数据库交互太频繁。

4.6、Redis的数据类型及使用场景

String:一般做一些复杂的计数功能的缓存;

Hash:单点登录;

List:做简单的消息队列的功能;

Set:做全局去重的功能;

SortedSet:做排行榜应用,取TOPN操作;延时任务;做范围查找。

以后继续补充

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值