page contents
Nen
Nen - 程序员

性别: 天津 - 天津市 注册于 2021-06-23

向TA求助
2850金币数
43180 经验值
1个粉丝
主页被访问 6241 次

3096 个回答

0 赞同

Redis事务及其相关面试题?

什么是事务? 事务是一个单独的隔离操作:事务中的所有命令都会序列化、按顺序地执行。事务在执行的过程中,不会被其他客户端发送来的命令请求所打断。 事务是一个原子操作:事务中的命令要么全部被执行,要么全部都不执行。 Redis事务的概念 Redis 事务的本质是通过MULTI、EXEC、WATCH等一组命令的集合。事务支持一次...

回答于 2021-11-23 15:11

0 赞同

Redis是单线程的,如何提高多核CPU的利用率?

可以在同一个服务器部署多个Redis的实例,并把他们当作不同的服务器来使用,在某些时候,无论如何一个服务器是不够的, 所以,如果你想使用多个CPU,你可以考虑一下分片(shard)。

回答于 2021-11-23 15:07

0 赞同

Redis的过期键的删除策略

我们都知道,Redis是key-value数据库,我们可以设置Redis中缓存的key的过期时间。Redis的过期策略就是指当Redis中缓存的key过期了,Redis 如何处理。 过期策略通常有以下三种: 定时过期:每个设置过期时间的key都需要创建一个定时器,到过期时间就会立即清除。该策略可以立即清除过期的数据,对内存很友好;但 是会占...

回答于 2021-11-22 16:07

0 赞同

Redis 内存淘汰策略有哪些?

1. volatile-lru:从已设置过期时间的数据集(server. db[i]. expires)中挑选最近最少使用的数据淘汰; 2. volatile-ttl:从已设置过期时间的数据集(server. db[i]. expires)中挑选将要过期的数据淘汰。 3. volatile-random:从已设置过期时间的数据集(server. db[i]. expires)中任意选择数据淘汰。 4. allkeys-lru...

回答于 2021-11-22 16:04

0 赞同

Redis 持久化有几种方式?

持久化就是把内存的数据写到磁盘中去,防止服务宕机了内存数据丢失。Redis 提供了两种持久化方式:RDB(默认) 和 AOF。 RDB RDB 是 Redis DataBase 的缩写。按照一定的时间周期策略把内存的数据以快照的形式保存到硬盘的二进制文件。即 Snapshot 快照存储,对应产生 的数据文件为 dump.rdb,通过配置文件中的 save 参数...

回答于 2021-11-22 16:03

0 赞同

怎么保证缓存和数据库数据的一致性?

1. 从理论上说,只要我们设置了合理的键的过期时间,我们就能保证缓存和数据库的数据最终是一致的。因为只要缓存数据过期了,就会被删除。随后读的时候,因为缓存里没有,就可以查数据库的数据,然后将数据库查出来的数据写入到缓存中。除了设置过期时间,我们还需要做更多的措施来尽量避免数据库与缓存处于不一致的情况发...

回答于 2021-11-22 16:02

0 赞同

什么是缓存雪崩?该如何解决?

如果缓存集中在一段时间内失效,所有的查询都落在数据库上,造成了缓存雪崩。 解决办法: 1. 加锁排队:在缓存失效后,通过加锁或者队列来控制读数据库写缓存的线程数量。比如对某个 key 只允许一个线程查询数据和写缓存,其他线 程等待; 2. 数据预热:可以通过缓存 reload 机制,预先去更新缓存,再即将发生大并发访...

回答于 2021-11-22 16:00

0 赞同

什么是缓存穿透?怎么解决?

缓存穿透是指查询一个一定不存在的数据,由于缓存是不命中时需要从数据库查询,查不到数据则不写入缓存,这将导致这个不存在的数据每次请求都要到数据库去查询,造成缓存穿透。 解决办法: 1、缓存空对象:如果一个查询返回的数据为空(不管是数据不存在,还是系统故障),我们仍然把这个空结果进行缓存,但它的过期时间...

回答于 2021-11-22 16:00

0 赞同

Redis 为什么这么快?

1. 完全基于内存,绝大部分请求是纯粹的内存操作,非常快速; 2. 数据结构简单,对数据操作也简单; 3. 采用单线程,避免了不必要的上下文切换和竞争条件,也不存在多进程或者多线程导致的切换而消耗 CPU,不用去考虑各种锁的问题,不存 在加锁释放锁操作,没有因为可能出现死锁而导致的性能消耗; 4. 使用多路 I/O 复...

回答于 2021-11-22 15:56

0 赞同

Redis 支持的数据类型有哪些?

1. string 字符串 字符串类型是 Redis 最基础的数据结构,首先键是字符串类型,而且其他几种结构都是在字符串类型基础上构建的。字符串类型实际上可以是字符 串:简单的字符串、XML、JSON;数字:整数、浮点数;二进制:图片、音频、视频。 使用场景:缓存、计数器、共享 Session、限速。 2. Hash(哈希) 在 Redis中...

回答于 2021-11-22 15:55