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

选择数据类型的Redis建议

徐卓
2023-03-14
问题内容

我们有疑问,根据我们在主页上显示2个列表的位置

  1. 修改日期之前的问题
  2. 问题有更大的见解和答案。并且在这两个清单中,如果问题有相同的观点或答案,则排序基于日期。

以前,我直接查询MySQL数据库并获取值,因此很容易。但是每个页面请求到达MySQL都有点昂贵,然后开始进行缓存。

我开始使用Redis。以下是我使用Redis缓存的情况

问题在第二个清单上,我必须以投票方式显示问题,而不能回答合并问题。我如何将这种类型的数据存储在Redis中以通过基于2个条件的时间投票和ANS时间计数的排序更快地加载?


问题答案:

您可以在redis中使用排序集。您的观看次数或答案数可以作为分数。根据时间戳创建密钥。排序设置方法zrevrangebyscore将为您提供正确的顺序。

您可以将您的排序集成员设置为:

'YEAR_MONTH_DATE_HOUR_MINUTE_SECONDS:question_id'

这样,如果您对具有相同分数的问题进行排序,将以字典顺序返回。如果您使用zrevrangebyscore,那么以后出现的问题将放在较高的位置。

您可以创建一个哈希映射来映射时间戳和question_id。快速查找

我问了一个类似的问题,在此我还提出了一个解决方案。我想要一些不同的东西,但它会完全按照您的要求进行。



 类似资料:
  • 主要内容:数值类型,日期和时间类型,字符串类型,二进制类型MySQL 提供了大量的数据类型,为了优化存储和提高数据库性能,在任何情况下都应该使用最精确的数据类型。   前面主要对 MySQL 中的数据类型及其基本特性进行了描述,包括它们能够存放的值的类型和占用空间等。本节主要讨论创建数据库表时如何选择数据类型。   可以说字符串类型是通用的数据类型,任何内容都可以保存在字符串中,数字和日期都可以表示成字符串形式。   但是也不能把所有的列都定义为字符串类

  • 问题内容: 如果在表的一列中,我希望这些值是“是”,“否”或“可选”,那么我需要使用哪种数据类型? 问题答案: 少量: 占用1个字节,但是最多可以将8个BIT字段合并到SQL Server中的单个BYTE中。 存储以下两个值之一:1(表示true)和0(表示false),因此该列需要为可空值,以便NULL作为您的第三个值传递 CHAR(1) 需要1个字节 如果不区分大小写ASCII,则为26个字符

  • 主要内容:string字符串,hash散列,list列表,set集合,zset有序集合经过前面介绍,我们知道 Redis 是 Key-Value 类型缓存型数据库,Redis 为了存储不同类型的数据,提供了五种常用数据类型,如下所示: string(字符串) hash(哈希散列) list(列表) set(集合) zset(sorted set:有序集合) 注意:这里指的数据类型是 Value(值) 的数据类型,而非 key。 string字符串 String 是 Redis 最基

  • 在Pandas的数据框中,一些列是数字的,像浮动;一些是非数字的,像对象。我们希望删除那些数值列为NaN的行,但不删除那些非数值列为NaN的行。 例如,对于具有四列的df:a、B、C和D。a和C的数据类型为Object,B和D的数据类型为Float。 我们将只删除其中一些数字列(浮点数)为NaN的行,而不应该删除其中一些非数字列(对象)为NaN的行。 最终结果如下: 我的步骤是: 检查哪些列的数据

  • Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)。 redis类型 含义 String 字符串 Hash 哈希 List 列表 Set 集合 Sorted set 有序集合 String 字符串 string是redis最基本的类型,一个key对应一个value。 string类型是二进制安全的。意思

  • 主要内容:1 整数类型,2 实数类型,3 字符串类型,3.1 VARCHAR和CHAR类型,3.2 Binary和VarBinary类型,3.3 BLOB和TEXT类型,3.3 ENUM类型,4 日期和时间类型,5 位数据类型,6 选择优化的数据类型,6.1 特殊的数据类型介绍了MySQL的常用数据类型的基本特性,以及数据类型的选择优化。 MySQL数据类型是定义列中可以存储什么数据以及该数据实际怎样存储的基本规则,正确的选择数据库字段的字段类型对于数据库性能有很大的影响。 1 整数类型 整数类