摘自:https://www.cnblogs.com/demoKing/p/8573873.html
一、Redis介绍:
redis的发展历史简单的理解为因为使用类似MySql这类关系型数据库不方便进而开发的开源的、轻量级的、非关系型的,直到现在一直不断完善的一款NoSql数据库。具体的介绍大家可以上网搜一下,这里就不做介绍了。
1、特性:
1.1存储结构
redis以字典结构存储数据,通俗的讲是以key=value(键值对)的形式存储的,并允许其他应用通过TCP协议读取字典中的内容。
目前redis支持的数据类型有:字符串类型(string);散列类型(hash);列表类型(list);集合类型(set);有序集合类型(zset)。
这种存储结构的优势:
在关系型数据库中,不同的数据需要放在不同的表中,有特定需要的话需要进行多表连查。而对于redis这样以键值的形式存储的数据而言,可以对键进行差集、交集、并集的操作,方便很多。
1.2内存存储与持久化
redis数据库中所有的数据都存在内存中。由于内存的读写速度远快于硬盘,因此,redis在性能上远超于那些读取到磁盘上的数据库,在一台普通的笔记本电脑上,redis可以在一秒内读写超过十万个键值。
将数据存储到内存中也是有隐患的,例如程序突然退出后内存中的数据就没了。不过,redis提供了持久化的支持,通过RDB方式或者AOF方式将内存数据持久化到磁盘上,两种方式后面总结。
1.3功能丰富
redis虽然是作数据库开发的,但是很多用做缓存和队列使用的。
redis中可以设置键的生存时间,生存时间到期后就会自动删除。这一功能可以作为缓存来使用。redis是单线程模式,而memcached支持多线程,在多核服务器上memcached性能更高。作为缓存系统,redis还可以限定数据占用的空间大小,超出空间限制后按照一定的规则删除不必要的键。
除此之外,redis的列表类型键可以用来实现队列,可以支持阻塞式读取,可以很容易实现一个高性能的优先级队列。更高层次上,redis还支持“订阅/发布”的消息模式,可以基于此来构建聊天室等系统。
1.4简单稳定
再强大的功能使用起来很复杂同样不会很吸引人,然而redis使用起来也相当的方便简单。
例如:在常规的关系型数据库中想要获取user表的usercode为3的username字段数据时使用SQL语句:select username from user where usercode = 3;
然而在redis中是以键值对的形式存储的,我们只需要按键取值即可:HGET user:3 username
标签:存储,redis,数据库,Redis,笔记,键值,内存,数据 From: https://www.cnblogs.com/sword0077/p/17154488.html