1.数据类型

本文涉及的产品
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
云数据库 Tair(兼容Redis),内存型 2GB
简介: redis学习入门Tags: redisredis中的数据结构关于keys的几条规则 (没有限制中的限制)太长的键值不是个好主意,例如1024字节的键值就不是个好注意,不仅消耗内存,而且在数据中查找这类键值的计算成本很高。

redis学习入门

Tags: redis


redis中的数据结构

关于keys的几条规则 (没有限制中的限制)

  • 太长的键值不是个好主意,例如1024字节的键值就不是个好注意,不仅消耗内存,而且在数据中查找这类键值的计算成本很高。
  • 太短的键值通常也不是好主意,使用“u:1000:pwd”代替“user:1000:password”没有什么问题,但后者更易阅读。根据业务需求,如果预计此类keys的数据量很大,使用简化的第一种方案也是不错的选择。
  • 最好坚持一种模式。例如:”object-type🆔field”就是个不错的注意,像这样”user:1000:password”。我喜欢对多单词的字段名中加上一个点,就像这样:”commentreply.to”。

  1. 字符串(strings)

    普通的k-v键值对

{
    key1:value,
    key2:value,
    ....
}
  1. 列表(List)

这种数据结构基于Linked List实现,常用来做队列
优点:插入时复杂度相同
缺点:按索引读取慢

{
    key1:[value1,value2,value3,...],    //json格式只能使用数组方式表示
    key2:[value1,value2,value3,...],
    ...
}
  1. 散列(hash)

    嵌套的k-v对

{
    key1:{
            key1:value1,
            key2:value2,
            ...
        },
    key2:{
            key1:value1,
            key2:value2,
            ...
        },
    ...
}
  1. 集合(sets)

    value是集合类型,元素值都是唯一的,redis会自动去重,所有的value是无序排列的

{
    key1:[value1,value3,value2],    //集合里面的元素不能重复
    key2:[value3,value2,value1],
    ...
}
  1. 有序集合(Sorted sets)

    value是集合类型,元素值都是唯一的,redis会自动去重,所有的value是有序排列的

{
    key1:[value1,value2,value3],    //集合里面的元素不能重复,且有序
    key2:[value1,value3,value3],
    ...
}
相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
目录
相关文章
|
7月前
1-4 数据类型
1-4 数据类型
26 0
|
7月前
|
存储 C语言
初识数据类型
本文介绍了编程中的几种基本数据类型,包括`char`、`int`、`float`、`double`和`_Bool`。`char`用于存储单个字符,如`'a'`;`int`用于整数,如`10`;`float`和`double`分别代表单精度和双精度浮点数;`_Bool`是布尔类型,表示真假,值为`true`或`false`。在C语言中,0被视为假,非0视为真。示例代码展示了这些数据类型的使用方法。
55 3
|
6月前
|
C++
C++数据类型
C++数据类型
|
7月前
|
存储
C 数据类型
C 数据类型。
46 0
|
7月前
|
存储
C数据类型
C数据类型。
32 1
|
7月前
|
存储 SQL 关系型数据库
十、数据类型
十、数据类型
65 0
|
存储
数据类型
数据类型
39 0
|
存储 C#
C#数据类型
C#数据类型
73 0
|
Java C语言
下一篇
DataWorks