redis存储机制

一.Redis存储机制分为:

1.shupshot(定时快照方式),文件名为dump.rdb,你可以配置redis的持久化策略,例如每N秒钟有超过M次更新,就将数据写入磁盘,或者可以手动调用SAVE。

2.AOF:基于语句追加log文件的方式

两者比较:快照方式性能明显高于AOF方式,但AOF数据的安全性高于快照方式,快照方式时,如果长时间不写入RDB,但Redis又遇到崩溃,那么没有写入的数据就无法回复了,AOF的缺陷是追加log文件可能过大,恢复慢(Rwrite),实时也log会影响redis本身性能

 

二.Redis是一个基于内存的高性能key-value数据库,单个value最大限制1GB,缺点是数据库容易受到物理内存的限制,因此Redis适合较小数据量的高性能操作

 

三.Redis好处:

(1)速度快,数据存在内存中,类似于HashMap,Redis全程使用hash结构,读取快;Redis使用非阻塞IO,IO多路复用,使用单线程轮询描述符,将数据库的开、关、读、写转换成了事件,采用自己实现的事件分离器,效率高。

(2)支持丰富的数据类型:String、List、Set、Zset、Hash。

对象存redis是将对象序列化为字节数组byte[]后,再存到redis中,需要数据时,就从redis数据库中取出字节数组,在经过反序列化,将字节数组转换成对象使用。

(3)支持事务,操作都是原子性的。

(4)可用于缓存,按key设置过期时间,过期后自动删除。

(5)可以通过redis实现session共享。

 

四.Rrdis常见性能问题:Master&Slave主从复制,主机数据更新后,根据配置和策略,自动同步到备机,Master以写为主,Slave以读为主。

Master写内存快照,会阻塞主线程工作,Master如果AOF持久化,AOF文件过大会影响Master重启的恢复速度,因此Master最好不要做任何持久化工作,如果数据比较重要,可以某个Slave开启AOF备份数据。

 

五.Redis是单进程单线程的

redis利用队列技术将并发访问变为串行访问,

redis并发竞争问题:Redis本身没有锁的概念,多客户端链接并不存在竞争,由于客户端链接混乱造成的问题有2种解决方案:(1)客户端用Synchronized或lock

(2)服务器利用setnx实现锁

 

六.redis事务

       

MULTIEXECDISCARDWATCH
开启提交  回滚 有点像tryLock,监控key,是否有其他链接修改,如果被其他链接的客户端修改,EXEC将执行失败

          

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值