您的位置:首页 > 教育 > 培训 > 中信建设有限责任公司地址_企业网站内容的制作_seo云优化公司_站外推广方式

中信建设有限责任公司地址_企业网站内容的制作_seo云优化公司_站外推广方式

2025/2/23 8:29:54 来源:https://blog.csdn.net/2301_76928097/article/details/145737934  浏览:    关键词:中信建设有限责任公司地址_企业网站内容的制作_seo云优化公司_站外推广方式
中信建设有限责任公司地址_企业网站内容的制作_seo云优化公司_站外推广方式

1.什么是Redis

Redis是一种基于键值对(key-value)的NoSQL数据库。与很多键值对数据库不同的是,Redis中的value可以由String(字符串),hash(哈希),list(列表),set(集合),zset(有序集合)等多种数据类型组成,同时同一种的数据类型可能有不同种编码形式,因此Redis可以满足很多的应用场景。

虽然Redis可以作为数据库,但是Redis相比于MySQL来说,Redis存储的能力很小。

Redis主要作为缓存而被程序员广泛使用和称赞。

2.Redis的特性

Redis受到程序员们的青睐,是因为Redis具有以下特性:

2.1速度快

Redis执行命令的速度非常快,造成Redis速度快可以归结于以下几点:

1.Redis所有的数据都是存放在内存中的,而从内存中读取数据的熟读是很快的(相比于读硬盘来说,从MySQL获取信息就是读硬盘的操作)

2.Redis的核心功能都是比较简单的操作内存中的数据结构

3.从网络上讲,Redis采用了IO多路复用的方式(后续我们详细讲)

4.Redis使用单线程模型,避免了多线程之间的冲突和竞争问题(虽然Redis在6.0版本引入了多线程机制,但主要用于处理网络和IO,不涉及到数据命令,即命令的执行任然采用单线程的模式)

2.2基于键值对的数据结构的服务器

Redis是一个客户端-服务器结构的程序!Redis主要提供了5种数据结构:字符串(String),哈希(hash),列表(list),集合(set),有序集合(zset)方便存储不同类型的数据。

2.3丰富的功能

Redis提供了许多额外的功能:

1.提供了键过期功能,可以用来实现缓存

2.提供了发布订阅功能,可以用来实现消息系统

3.支持Lua脚本,可以利用Lua创造出新的Redis命令

4.提供了简单的事务功能,能在一定程度上保证事务特性

5.提供了流水线(Pipeline)功能,这样客户端能将一批命令一次性传到Redis,减少了网络的开销

2.4简单稳定

Redis的简单主要体现在三个方面:

1.Redis的源码相对于很多NoSQL数据库的源码要少很多

2.Redis采用单线程模型,不需要考虑多线程之间的竞争问题

3.Redis自己实现了事务处理的相关功能

2.5客户端语言多

Redis提供了简单的TCP通信协议,很多编程语言可以很方便地接入Redis,例如C,C++,Java,PHP,Python,NodeJS等

2.6持久化

通常来看,将数据存放在内存中是不安全的,一旦发生断电或者机器故障,重要的数据可能就会丢失,因此Redis提供了两种持久化的方式:RDB和AOF,即可以使用两种策略将内存中的数据保存到硬盘中,这样就保证了数据的可持久化

2.7主从复制(Replication)

Redis提供了复制功能,实现了多个相同数据的Redis副本(Replica),复制功能是分布式Redis基础,主节点挂,从节点将会变为主节点

2.8高可用和分布式

Redis提供了高可用实现的Redis哨兵(Redis Sentinel),能够保证Redis节点的故障发现和故障的自动转移。也提供了Redis集群(Redis Cluster),是真正的分布式实现,提供高可用,读写和容量的扩展性

3.Redis的使用场景

3.1Redis可以做什么

1.Redis可以作为数据库

2.Redis可以作为缓存,存取部分数据(热点数据),全量数据在MySQL中

3.Redis可以进行会话存储

4.Redis可以作为消息队列

3.2Redis不可以做什么

1.Redis不可以存储大规模的数据

Redis是存放在内存中的,虽然内存已经足够便宜,但是如果数据量足够大,使用Redis来存储,是一个无底洞,经济成本非常高

2.Redis不可以存冷数据

数据分为冷热数据,热数据通常指需要频繁操作的数据,反之为冷数据。如果将冷数据存放在Redis上,基本是对内存的一种浪费,但是对于热数据存放在Redis中加速读写,也可以减轻后端存储的负载

3.3Redis的使用场景

1.缓存

合理使用缓存不仅可以加速数据的访问速度,而且能够有效地降低后端数据源的压力

2.排行榜系统

Redis提供了列表和有序集合的数据结构,合理使用这些数据结构可以很方便地构建各种排行榜系统

3.计数器应用

Redis天然支持计数功能而且技术的性能非常好,可以说是计数器系统的重要选择

4.社交网络

由于社交网站的访问量比较大,而传统关系类型的数据库不太适合存储一些类型的数据,Redis提供的数据结构可以相对比较简单容易实现赞/踩,粉丝,共同好友等功能

5.消息队列

Redis提供发布订阅功能和阻塞队列功能,虽然和专业的消息队列相比还不够强大,但是对于一般的消息队列的功能基本可以满足

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com