当前位置: 首页 > 面试题库 >

MySQL里有2000w数据,Redis中只存20w的数据,如何保证Redis中的数据都是热点数据?

刘绍晖
2023-03-14
本文向大家介绍MySQL里有2000w数据,Redis中只存20w的数据,如何保证Redis中的数据都是热点数据?相关面试题,主要包含被问及MySQL里有2000w数据,Redis中只存20w的数据,如何保证Redis中的数据都是热点数据?时的应答技巧和注意事项,需要的朋友参考一下

redis 配置文件 redis.conf 中有相关注释,大家可以自行查阅或者通过这个网址查看: http://download.redis.io/redis-stable/redis.conf

redis 提供 6种数据淘汰策略:

  1. volatile-lru:从已设置过期时间的数据集(server.db[i].expires)中挑选最近最少使用的数据淘汰
  2. volatile-ttl:从已设置过期时间的数据集(server.db[i].expires)中挑选将要过期的数据淘汰
  3. volatile-random:从已设置过期时间的数据集(server.db[i].expires)中任意选择数据淘汰
  4. allkeys-lru:当内存不足以容纳新写入数据时,在键空间中,移除最近最少使用的key(这个是最常用的)
  5. allkeys-random:从数据集(server.db[i].dict)中任意选择数据淘汰
  6. no-eviction:禁止驱逐数据,也就是说当内存不足以容纳新写入数据时,新写入操作会报错。这个应该没人使用吧!

4.0版本后增加以下两种:

  1. volatile-lfu:从已设置过期时间的数据集(server.db[i].expires)中挑选最不经常使用的数据淘汰
  2. allkeys-lfu:当内存不足以容纳新写入数据时,在键空间中,移除最不经常使用的key
 类似资料:
  • 我将redis用于发布/订阅以及服务器端缓存。我的意思是,我的应用服务器将redis服务器作为一个进程运行(也可以作为缓存)。我有几个瘦客户端(运行redis client)以发布/订阅模式连接到此应用服务器。我想知道redis在哪里存储缓存数据?单独在服务器中,或者在客户端中也会有一个副本。如果有近100个Redis客户端通过发布/订阅通道连接到服务器,那么以这种方式使用Redis也是一个好主意

  • 问题内容: 我是Redis的新手,但是有一个与备份有关的问题。 现在,我有一个实例在Windows服务器上运行。在此实例内部,我目前有一个“作业”,可将数据存储在一个数据库中。我不希望备份这些数据。 我必须创造一份新工作。我的第一个想法是将数据存储在另一个数据库中,但是在同一实例上。然后,我将在此数据库ID上激活RDB备份。 但是,当我阅读redis文档时,会看到以下命令进行备份: 此命令仅备份当

  • 我正在使用Spring data redis和jedis与aspectJ进行日志记录。但是得到以下错误。请帮助解决此错误。我在这上面花了很多时间,但无法解决它。 我使用的是Spring数据redis 1.4.1,jedis-2.6.1和Redis-2.8 错误详情:- 下面是使用spring data redis的redis Sentinel配置的Java配置文件 下面是用于日志记录的Aspect

  • Redis(Remote Dictionary Server ),即远程字典服务,是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。 目录结构CentOS /etc/redis.conf: 配置文件,用来配置 Redis 端口、数据存储、以及优化参数 /etc/redis-sentinel.conf: 哨兵配置文件,用来

  • 我们使用Redis将各种应用程序配置存储在DB0中。 有没有可能在Redis中查询数据库中的每个键/值对,而不必执行两个单独的查询并自己加入键/值对? 我希望功能类似于以下内容: ...其中将返回元组的元组、列表的列表或字典: 然而,在浏览了StackOverflow,Google和Redis文档之后,我能得到的唯一解决方案(我还没有找到其他人问这个问题..)类似于以下内容: 我的问题根本不是如何

  • 问题内容: 比方说,我正在使用数据库中的一些长期运行任务来成千上万次记录或进行记录,并使用Redis对其进行缓存。第二天,有人更改了数据库中的一些记录。 下次,redis如何知道它必须返回缓存的数据或再次必须重新访问DB中的所有数千条记录? 如何实现同步? 问题答案: Redis不知道数据库中的数据是否已更新。 通常,我们使用Redis缓存数据,如下所示: 客户端检查Redis中是否存在数据(例如