redis介绍

redis简介

Redis 全称是 Remote Dictionary Server,是完全开源免费的,是一个高性能的key-value类型的内存数据库。

redis特点

1.速度快,因为数据存在内存中,读的速度是 110000 次 /s, 写的速度是 81000 次 /s。
2.支持丰富数据类型string、list、set、zset(有序集合)、hash。
3.支持原子性操作,对数据的修改要么全部执行,要么全部不执行。支持事务,事务中任意命令行失败,其余命令依然被执行, Redis 事务不保证原子性,也不支持回滚。
4.丰富的特性:可用于缓存、队列、消息通知(支持 publish/subscribe 通知),按key设置过期时间,过期后将会自动删除,具体淘汰策略有:
  4.1.volatile-lru:从已经设置过期时间的数据集中,挑选最近最少使用的数据淘汰
 4.2.volatile-ttl:从已经设置过期时间的数据集中,挑选即将要过期的数据淘汰
 4.3.volatile-random:从已经设置过期时间的数据集中,随机挑选数据淘汰
 4.4.allkeys-lru:从所有的数据集中,挑选最近最少使用的数据淘汰
 4.5.allkeys-random:从所有的数据集中,随机挑选数据淘汰
 4.6.no-enviction:禁止淘汰数据
具体过期键的策略有:定时删除(缓存过期时间到就删除,创建timer耗CPU),惰性删除(获取的时候检查,不获取一直留在内存,对内存不友好),定期删除(CPU和内存的折中方案)
5.支持数据持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载使用。
6.支持高可架构,redis部署架构主从、哨兵、集群等部署方案

redis使用场景

1.缓存热数据

     由于redis将相关的数据库数据加载到内存中,所以页面加载热数据速度很快。

2.排行榜/计算器

  Redis在内存中对数字进行递增或递减的操作实现的非常好。集合(Set)和有序集合(Sorted Set),用于实现排行榜/计算器相关功能会相对简单

3.队列

Reids提供 了list 和 set数量类型,可以作为常用队列来使用,就类似于本地程序语言(如java)对delayQueue的 push/pop 操作。

4.分布式锁

  通过redis能够实现分布式锁,用于大型高并发操作等。

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脚本可以实现复杂的业务逻辑,提高系统的性能和可维护性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值