主页 > 网络知识 > 派迪科技教你认识Redis的基本知识

派迪科技教你认识Redis的基本知识

 

派迪科技教你认识Redis的基本知识

redus简介

Redis是一个开源的使用ANSI 由C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。

它通常被称为数据结构服务器,因为值可以是set、zset、list、hash、string这五种类型

 

redis的优点:

 

1、支持多种数据类型(同简介中有写的五种数据类型)

redis支持set,zset,list,hash,string这五种数据类型,操作非常方便,如果在做好友系统,查看自己的好友关系,如果采用其他的key-value系统,则必须把对应的好友拼接成字符串,然后在提取好友时,再把value进行解析,而redis则相对简单,直接支持list的存储(采用双向链表或者压缩链表的存储方式)。

 

2、持久化存储

作为一个内存数据库,最担心的,就是万一机器死机宕机,数据就会消失掉。redis使用RDB和AOF做数据的持久化存储。主从数据同时,生成rdb文件,并利用缓冲区添加新的数据更新操作做对应的同步。

 

3、性能很好

由于是全内存操作,所以读写性能很好,可以达到10w/s的频率。公司有项目使用redis,目前的访问频率是80w/s,通过适当的部署,线上运行一切ok的。

 

redis的缺点:

 

1、由于是内存数据库,所以单台机器存储的数据量跟机器本身的内存大小有关。虽然redis本身有key过期策略,但是还是需要提前预估和节约内存。如果内存增长过快,需要定期删除数据。

1.1、定时删除和定期删除为主动删除,Redis会定期主动淘汰一批已过去的key。

1.2、惰性删除为被动删除,用到的时候才会去检验key是不是已过期,过期就删除过期的key

1.3、惰性删除是redis服务器内置策略

(过期的key对aof文件没有任何影响,删除过期的key时系统会向aof文件追加一条del;如果key过期了但是没有删除,此时进行持久化操作这个key不会进入aof文件,因为没有发生修改指令)

 

2、如果进行完整重同步,由于需要生成rdb文件,并进行传输,会占用主机的CPU,并会消耗现网的带宽。不过redis2.8版本以后,已经有部分重同步的功能,但是还是有可能有完整重同步的。比如,新上线的从库。

说点什么吧
  • 全部评论(0
    还没有评论,快来抢沙发吧!