redis数据类型场景?常见性能问题及解决?和memache的区别?

本文详细介绍了Redis与Memcache的区别,强调Redis支持多种数据类型、数据持久化及多路复用技术。同时,文章列举了Redis常见的性能问题,如主节点的持久化操作、AOF文件过大和主从复制的性能影响,并提出了相应的解决方案。此外,文章还详细阐述了Redis的五大数据类型——String、Hash、List、Set和Sorted Set的应用场景和实现方式。
摘要由CSDN通过智能技术生成

一、区别:

1、redis可支持多种5数据类型、memache只有string。

2、redis可数据持久化。master-slave模式:RDB内存快照、AOF日志文件

3、底层实现方式不同,以及与客户端之间通信的应用协议不一样。redis直接自己构建了VM 机制 ,因为一般的系统调用系统函数的话,会浪费一定的时间去移动和请求。 

4.、redis目前官方只支持LINUX 。因为一般的系统调用系统函数的话,会浪费一定的时间去移动和请求。

5、Memcache支持多线程,redis支持单线程;CPU利用方面Memcache优于redis(采用压缩的情况下比memcache高);

6、过期策略:memcache过期后,不删除缓存,会导致下次取数据数据的问题,Redis有专门线程,清除缓存数据;redis

redis单线程为何如此之快:
1.redis是基于内存的,内存的读写速度非常快;
2.redis是单线程的,省去了很多上下文切换线程的时间;
3.redis使用多路复用技术,可以处理并发的连接;

多路复用:
多路-指的是多个socket连接,复用-指的是复用一个线程。
目前,多路复用主要有三种技术:select,poll,epoll。它们出现的顺序是哟西按后的,越排后的技术改正了之前技术的缺点。epoll是最新的也是目前最好的多路复用技术。
举个例子:一个酒吧服务员,前面有很多醉汉,epoll这种方式相当于一个醉汉吼了一声要酒,服务员听见之后就去给他倒酒,而在这些醉汉没有要求的时候可以玩玩手机等。但是select和poll技术是这样的场景:服务员轮流着问各个醉汉要不要倒酒,没有空闲的时间。io多路复用的意思就是做个醉汉公用一个服务员。

二、 Redis 常见的性能问题都有哪些?如何解决?

1).Master写内存快照,save命令调度rdbSave函数,会阻塞主线程的工作,当快照比较大时对性能影响是非常大的,会间断性暂停服务,所以Master最好不要写内存快照

2).Master AOF持久化,如果不重写AOF文件,这个持久化方式对性能的影响是最小的,但是AOF文件会不断增大,AOF文件过大会影响Master重启的恢复速度。Master最好不要做任何持久化工作,包括内存快照和AOF日志文件,特别是不要启用内存快照做持久化,如果数据比较关键,某个Slave开启AOF备份数据,策略为每秒同步一次。

3).M

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值