redis介绍

Redis是一个高性能的Key-value数据库,旨在解决MySQL+Memcached架构的问题。它速度极快,支持持久化,具备多种数据结构,丰富的功能,支持多种编程语言,并提供主从复制、高可用和分布式解决方案。Redis常用于缓存系统、计数器、消息队列、排行榜、社交网络、实时系统等多个场景。

Redis 是一个高性能的Key-value数据库,很多公司使用的mysql+Memcached架构,这个架构适合存储海量数据,但随着业务的增加会出现很多问题。

举例:

MySQL 数据库经常拆表,导致 Memcached 也不断扩容;同步问题;命中率低,导致直接穿透 Memcached 进入 DB 查询,DB资源池是有限的,进而宕机,这些都会导致Memcached不好用

Redis的出现就是为了解决这个问题的。

Redis的特性:

特性一,速度极快。官方给出的数据是 10 万次 ops 的读写,这主要归功于这些数据都存在于内存中。由于 Redis 是开源的,当你打开源代码,就会发现 Redis 都是用 C 语言写的,C 语言是最接近计算机语言的代码,而且只有区区 5 万行,保证了 Redis 的速度。同时一个 Redis 只是一个单线程,其真正的原因还是因为单线程在内存中是效率最高的。

特性二,持久化。Redis 的持久化可以保证将内存中的数据每隔一段时间就保存于磁盘中,重启的时候会再次加载到内存。持久化方式是 RDB 和 AOF。

特性三,支持多种数据结构。分别支持哈希、集合、BitMaps,还有位图(多用于活跃用户数等统计)、HyperLogLog(超小内存唯一值计数,由于只有 12K,是有一定误差范围的)、GEO(地理信息定位)。

特性四,支持多种编程语言。支持Java、PHP、Python、Ruby、Lua、Nodejs。

特性五,功能丰富。如发布订阅、Lua 脚本、事务、Pipeline(管道,即当指令到达一定数量后,客户端才会执行)。

Redis是一种开源的内存数据结构存储系统,它可以用作数据库、缓存和消息代理。Redis支持多种数据结构,包括字符串、哈希表、列表、集合和有序集合。Redis还提供了事务、Lua脚本、发布/订阅、复制和集群等功能。 以下是一些Redis面试问题的回答: 1. Redis的优点是什么? Redis的优点包括高性能、可扩展性、丰富的数据结构、支持事务和Lua脚本、支持发布/订阅、复制和集群等功能。 2. Redis的缺点是什么? Redis的缺点包括数据持久化方案相对简单、单线程模型可能会成为瓶颈、内存使用较高等。 3. Redis的数据结构有哪些? Redis支持多种数据结构,包括字符串、哈希表、列表、集合和有序集合。 4. Redis的持久化方式有哪些? Redis支持两种持久化方式:RDB和AOF。RDB是将内存中的数据定期保存到磁盘上,AOF是将Redis执行的每个写命令追加到文件中。 5. Redis的主从复制是什么? Redis的主从复制是指将一个Redis实例作为主节点,其他Redis实例作为从节点,主节点将自己的数据同步到从节点上。从节点可以用于读取数据、提高系统的可用性和容错能力。 6. Redis的集群是什么? Redis的集群是指将多个Redis实例组成一个集群,实现数据的分片和负载均衡,提高系统的可扩展性和容错能力。 7. Redis的事务是什么? Redis的事务是指将多个命令打包成一个事务,然后一次性执行,保证事务的原子性。如果其中一个命令执行失败,整个事务都会回滚。 8. Redis的Lua脚本是什么? Redis的Lua脚本是指将Lua脚本作为一个整体发送给Redis服务器,然后由Redis服务器执行。Lua脚本可以实现复杂的业务逻辑,提高系统的性能和可维护性。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

互联网老辛

你的鼓励是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值