关于Redis的相关知识个人总结

redis简介

redis不同于像以往我用的mysql,oracle这样的关系型数据库,他是一个以key-value键值对形式存储的数据库。

1.支持多种原子性操作的数据结构

但是区别于别的key-value数据库的是,他还支持String(字符串)、set(无序集合)、sorted set(有序集合)、hash(哈希)、list(列表)这些数据类型,并且这些的操作都是原子性操作(原子性只有一点印象,百度意思就是他这个线程只要开始了,就一直运行到结束,不会有切换到其他线程)。

2.性能极高

关于redis,据我目前浅薄的了解,redis可以搭建在云服务器上,存储我们在web应用里常见的session,众所周知,session可以存储用户登陆的信息,基于redis高速的性能以及每秒81000次的写速度和每秒110000的读速度,以及对用户数据的保护,并且redis把数据都缓存在内存里(持久化),并且会周期性地更新,所以redis存储session势在必行也物尽其用了。

在初步学习中,本人对于例子会更有印象,所以简单地做个记录。在redis支持的各色数据类型中,有着这样的应用:
sorted set(有序集合) 因为属于有序的不可重复集合,zset可以拿来做网页的排行榜,并且实时刷新(本人未实现所以粗略了解)
而hash可以存储对象.(有不同的应用欢迎大大们补充)

redis不仅支持很多不同的数据类型、高速的读写速度,很广的应用,而且支持数据持久化,通过把数据保存在磁盘中,重启后可以加载继续使用;

在最近的项目里,使用了mysql和redis进行读写分离,mysql专门用来增删改,redis用来读,可以很大的提高效率

3.主从同步

不过redis在读的量很大的情况下也会用压力,所以和mysql一样,有了主从同步。具体描述为,一个服务器A复制另一个服务器B,B为主服务器,A为从服务器。

这里写图片描述

第二种就是级联了:

这里写图片描述

同步按日常分为增量同步和全量同步:
全量同步:可以假想这样的场景:因为负载均衡有了一个新的redis服务器,但是里面没有数据,就从”老员工”那里复制一份来。这样的操作(复制全部数据)可以称为全量同步

增量同步:从服务器正常工作后,主服务器发生了写操作然后要同步给从服务器的过程,并且主服务器每执行一个写操作,相同的命令会发给从服务器。
这个很像版本控制器里的操作,组长(主服务器)更新了代码(数据),组员都从组长那里同步一波数据,组长更新一次就写一次。

总结:

不看上面具体的,简单的来总结一下
1.redis是以key-value键值对来存储的非关系型数据库
2.redis支持多种数据类型的原子性操作
3.redis数据库的数据可以持久化到磁盘
4.redis支持主从同步
5.redis可以和关系型数据库结合做到读写分离
6.缺点就是单线程和耗内存了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值